从c#代码中了解什么是活动的Jquery选项卡索引
本文关键字:Jquery 选项 索引 活动 代码 了解 什么 | 更新日期: 2023-09-27 17:50:23
我在两个独立的Jquery选项卡面板上有两个aspx按钮。我想从背后的c#代码获得活动Jquery选项卡的索引,以便该选项卡内的按钮变得不可见。任何帮助都将不胜感激。ASP:
<asp:HiddenField ID="hiddenFGetActiveTab" runat="server"/>
<button ID="btnGetActiveTab"></button>
<div id="tabs">
<ul>
<li><a href="#tabs-1"></a></li>
<li><a href="#tabs-2"></a></li>
</ul>
<div id="tabs-1" style="border: 1px solid #E5E5E5;">
<asp:UpdatePanel ID="updatePanelSearchCustomer" runat="server" UpdateMode="Conditional">
<contentTemplate>
<asp:Button ID="btnCustSearch" runat="server" Text="Search" ToolTip="Click to Search" OnClick="btnCustSearch_Click" />
<asp:Button ID="btnAddCustomer" runat="server" Text="Add New" CommandName="insert" Visible="True" ToolTip="Add to Workbasket" OnClick="addToWorkBasket_Click" />
<asp:GridView ID="gridCustSearch" OnRowCreated="gridCustLicSearch_RowCreated runat="server"></asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="tabs-2" style="border: 1px solid #E5E5E5;">
<asp:Button ID="btnSearchLicense" runat="server" Text="Search" ToolTip="Click to Search" />
<asp:Button ID="btnAddLicense" runat="server" Text="Add to Workbasket" Visible="False" ToolTip="Add to Workbasket" OnClick="btnAddLicense_Click" />
<asp:UpdatePanel ID="updatePanelLicenseSearchFields" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="gridLicSearch" runat="server" OnRowCreated="gridCustLicSearch_RowCreated"></asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
JQUERY: <link href="../css/jquery-ui-1.9.2.custom.css" rel="stylesheet" />
<script src="../js/jquery-1.8.3.js"></script>
<script src="../js/reflection.js"></script>
<script src="../js/jquery-ui-1.9.2.custom.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(function () {
$("#tabs").tabs({ event: "click" });
});
$('#btnGetActiveTab').click(function (event) {
event.preventDefault();
varTab = $("#tabs").tabs("option", "selected");
document.getElementById("<%= hiddenFGetActiveTab.ClientID %>").value = varTab;
//$("#hiddenFGetActiveTab").val(varTab);
//alert(varTab);
alert(document.getElementById("<%= hiddenFGetActiveTab.ClientID %>").value);
});
function tabChanged(tabIndex) {
varTab = $("#tabs").tabs("option", "selected");
$("#hiddenFGetActiveTab").val(varTab);
alert(document.getElementById("<%= hiddenFGetActiveTab.ClientID %>").value);
}
});
c#代码后面:
protected void gridCustLicSearch_RowCreated(object sender, GridViewRowEventArgs e)
if (activeTabIndex == Tab-1)
{
//Make First button visible
//do other stuff
}
else if (activeTab == Tab-2)
{
//Make Second button visible
//do other stuff
}
在没有看到任何代码的情况下,我建议使用<asp:HiddenField
…
无论何时更改选项卡,将隐藏字段设置为当前选项卡的索引。
然后,在代码后面,你可以看到哪个选项卡是当前选中的,并启用/禁用的东西,你希望…
短例子:
在您的aspx页面添加以下内容:
<asp:HiddenField ID="hdnField" runat="server" />
当你改变选项卡时(在Javascript中):
function tabChanged(tabIndex)
{
$("#hdnField").val(tabIndex);
}
在后台代码:if (hdnField.Value == "1")
....
我想这可能会有帮助http://api.jqueryui.com/tabs/event-activate
如果你可以处理选项卡激活事件,你可以设置一个隐藏字段的状态,或者使一个Ajax调用服务器发送数据到服务器会话。
另一种方法可能是,当你发表文章时,检查Active选项http://api.jqueryui.com/tabs/#option-active为发布的数据添加索引。
猜ui.newTab.index()
会有效果。
请检查标签索引并相应地设置按钮的可见性。
例如,
document.getElementById('<%=Button1.ClientID%>').style.display = 'block'