0

我在更新面板中有一个 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# 代码。

可能吗??

有人可以帮忙吗?

谢谢

4

2 回答 2

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

于 2013-03-12T21:35:46.087 回答
1

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

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

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

于 2013-03-12T21:55:40.323 回答