【问题标题】:TabContainer using AjaxToolKit使用 AjaxToolKit 的 TabContainer
【发布时间】:2011-07-18 14:34:02
【问题描述】:

在我遇到查找控件和设置选项卡索引的问题之前。我现在的问题是,取决于某些选项卡中是否有数据,它们被设置为 Visible = true 或 false。如果没有数据,则它们不可见(即选项卡),但会显示容器和任何其他具有数据的选项卡。

所以当我这样做时

$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 设置为找到的索引?

================================================ ============================

【问题讨论】:

  • 为什么要使用 $find('')?在标记中,您的控件 ID 是“myTabs”
  • 谢谢你的收获,我在这里改了..我打错了。 (发布问题时没有复制和粘贴)-但您可以看到问题是我希望能够找到 TabPanel 所在的索引..

标签: c# asp.net ajax ajaxcontroltoolkit


【解决方案1】:
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)
        }
    }

【讨论】:

  • 哇,这效果很好。如果能给你更多的分数,我会的。只是最后一个问题。我如何检查它是否找不到不处理任何内容的选项卡? (对不起,我是 javascript 的新手 :))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多