我正在使用jquery选项卡并遵循js方法,如何以及如何修改它以维护回发之间的tab状态? (这会在page_load之后将选项卡重置为第一个选项卡)
$(document).ready(function(){//页面加载时...
$( “tab_content”)隐藏()。 //隐藏所有内容
$(“ul.tabs li:first”)。addClass(“active”)。show(); //激活第一个标签$(“。tab_content:first”)。show(); //显示第一个标签内容// On Click Event $(“ul.tabs li”)。点击(function(){
$(“ul.tabs li”)。removeClass(“active”); //删除所有“活动”类
$(本).addClass( “活动”); //将“active”类添加到选定的tab $(“。tab_content”)。hide(); //隐藏所有标签内容
var activeTab = $(this).find(“a”)。attr(“href”); //找到href属性值以标识活动选项卡+内容
$(activeTab).fadeIn(); //淡入活动ID内容返回false; });
答案 0 :(得分:1)
我第一次开始使用jQuery时遇到了这个问题。我的解决方案是使用<asp:HiddenField />
将活动选项卡索引存储在tabselect上。
ASP.Net允许客户端代码修改<asp:HiddenField />
,因此它将在回发中保留其值。
在document.ready
上,只需在初始化期间设置selected
标签即可恢复活动标签:
示例:
$('div#divMyTabs').tabs({
selected: function () {
var tabFromPostback = $('input#<%=hfActiveTab.ClientID %>').val();
return tabFromPostback === '' ? 0 : tabFromPostback; //Default to first.
},
select: function (e, ui) {
$('input#<%=hfActiveTab.ClientID %>').val(ui.index);
}
});