TabContainer using AjaxToolKit
本文关键字:AjaxToolKit using TabContainer | 更新日期: 2023-09-27 18:02:20
之前,我遇到了查找控件和设置选项卡索引的问题。我现在的问题是,这取决于是否有数据在一些标签,他们被设置为可见=真或假。如果没有数据,则不显示它们(标签),但容器和任何其他有数据的标签都会显示。
所以当我输入
$find('<%=myTabs.ClientID%>').set_activeTabIndex(1);
它给了我一个错误,因为对于那个特定的项目,在制表符0中没有数据,所以我现在想设置的制表符是在索引0处,因为我想设置的制表符会将索引向下移动。我怎么知道在哪个索引这个选项卡是在,使用javascript?
相关代码:
函数getFocus() {
//need to be able to find out at which index pnlTab2 is at.. so i can set it
$find('<%=myTabs.ClientID%>').set_activeTabIndex(1);
document.getElementById('<%=pnlTab2.ClientID%>').focus();
return false;
}
<asp:UpdatePanel ID="UpdatePnl" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<ajaxToolKit:TabContainer runat="server" id="myTabs" CssClass="CustomTabStyle">
<ajaxToolKit:TabPanel ID="pnlTab1" runat="server" HeaderText="Tab 1">
<ContentTemplate>
<table>
<tr>
<td>
<div class="Tab1">
<asp:Label ID="lblPnl1" runat="server"></asp:Label>
</div>
</td>
</tr>
</table>
</ContentTemplate>
</ajaxToolKit:TabPanel>
<ajaxToolKit:TabPanel ID="pnlTab2" runat="server" HeaderText="Tab2">
<ContentTemplate>
<table>
<tr>
<td>
<div class="Tab2">
<asp:Label ID="lblPnl2" runat="server"></asp:Label>
</div>
</td>
</tr>
</table>
</ContentTemplate>
</ajaxToolKit:TabPanel>
</ajaxToolKit:TabContainer>
</ContentTemplate>
</asp:UpdatePanel>
所以基本上,我怎么能找到一个TabPanel的索引,这样我就可以设置activeTab的索引找到?
=========================================================================
function setFocus() {
var success = false;
var tabInedx = 0;
var tabs = $find("<%= myTabs.ClientID %>").get_tabs();
for (; tabInedx < tabs.length; tabInedx++) {
if (tabs[tabInedx].get_id() == "<%= pnlTab2.ClientID %>") {
success = true;
break;
}
}
if (success) {
alert("Tab2 index: " + tabInedx)
}
}