我在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#代码。
有可能吗?
有人可以帮忙吗?
由于
答案 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返回给服务器。