【问题标题】:How can I get a tabcontainer ID using jquery or javascript?如何使用 jquery 或 javascript 获取 tabcontainer ID?
【发布时间】:2013-03-12 21:18:35
【问题描述】:

我在更新面板中有一个 tabcontainer,我想在 tabcontainer 下方显示 gridview。在选项卡容器内,按下每个选项卡时可以更改,但单击选项卡时无法在网格视图中进行更改。

目前我可以看到下面的 javascript 正在工作,正如我使用警报确认的那样。

<script type="text/javascript" src="Scripts/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="Scripts/jquery-ui-1.8.13.custom.min.js">
</script>
<script type="text/javascript">
function tabClick() {

    var selected_tab = $("#TabContainer1").tabs();


    alert(selected_tab);
    return;
}

我有一个如下的标签容器

<asp:UpdatePanel ID="EmployeeInfoUpdatePanel" runat="server">
    <ContentTemplate>
    <div style="padding-left:205px">
        <asp:TabContainer ID="TabContainer1" runat="server" Width="955px" 
            Height="350px"  CssClass="fancy fancy-green" ActiveTabIndex="0" OnClientActiveTabChanged="tabClick">
            <asp:TabPanel ID="companyTab" HeaderText="Company" runat="server"  ForeColor="Black">  
                <ContentTemplate>
                       codes....

我已经搜索并找到了一些代码,例如 tab.get_activetab 但是它不起作用。如果我输入 selected_tab。和 Visual Studio 提出了我可以选择的选项,但是 get_activetab 或 _activeTabIndex 没有选项

我想获得一个活动标签 ID 并将参数传递给 C# 代码。

有可能吗?

有人可以帮忙吗?

谢谢

【问题讨论】:

    标签: javascript jquery asp.net ajax


    【解决方案1】:

    首先,您可以从 jquery 对象或本机 javascript 对象中获取任何元素的 id,如下所示

       // jquery get id of html element
       $(myJquerySelector)[0].id
       $(myJquerySelector).attr('id');
    
       // native js get id of html element
       document.querySelector(myNativeSelector).id;
       document.getElementById(theID).id;
    

    但你的问题不止于此。要获取活动选项卡的 id,您只需获取该选项卡

       $('.ui-tabs-active')[0].id // will give you the id of the active tab
    

    然后要将其传递到您的服务器,您将需要AJAX。所以像:

       $.post('/my/server/path', { id : $('.ui-tabs-active')[0].id });
    

    这会将活动选项卡的 id 发布到您的服务器和 c#。

    【讨论】:

    • 感谢您的回答,但抱歉我不太明白..所以 myJquerySelector 的意思是使用选择器来获取我的 tabcontainer?它像 $("TabContainer1")[0].id 吗?所以使用您发布的第一个代码和第二个代码来获取活动选项卡的 id,然后使用第三个代码将其传递到服务器端?如何从服务器端使用该 ID?谢谢
    • "TabContainer1" 不是有效的 jquery 选择器,但可以。我对您的服务器也不太了解,无法在那里为您提供帮助。 $.post 将像普通帖子一样工作。
    【解决方案2】:

    对于一个直接的 javascript 函数,我在下面使用它来获取活动标签:

     var tab = document.getElementById('tabContainer');
     var currentTabIndex = tab.control.get_activeTabIndex();
     var currentTabId = tab.control._tabs[currentTabIndex]._tab.id;
    

    然后,使用一些 AJAX 将 id 返回到服务器。

    【讨论】:

    • 我已经尝试过了,但它对我不起作用。我认为第一行工作正常,因为如果我对选项卡使用警报,它会显示空值。但从第二行不起作用。即使我在我的代码上设置了警报,它也不会在我的警报上显示任何内容。
    • 对不起.. 意识到我已经在 onTabChanged 事件中对此进行了测试。我把它移到了 onload 上。试试这个: var tab = document.getElementById('tabContainer'); var currentTabIndex = tab.control._activeTabIndex; var currentTabId = tab.control._tabs[currentTabIndex]._tab.id;
    猜你喜欢
    • 2013-05-08
    • 2012-10-20
    • 1970-01-01
    • 2020-01-27
    • 2013-12-21
    • 2013-02-19
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多