如何使用jquery或javascript获取tabcontainer ID?

时间:2013-03-12 21:18:36

标签: javascript jquery asp.net ajax

我在updatepanel中有一个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;
}

我有一个tabcontainer如下

<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#代码。

有可能吗?

有人可以帮忙吗?

由于

2 个答案:

答案 0 :(得分: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#。

答案 1 :(得分:1)

对于直接的javascript函数,我使用下面的代码来获取活动标签:

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

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