Jquery如何维护jquery中回发之间的状态?

时间:2012-07-10 16:05:50

标签: jquery-ui

我正在使用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; });

1 个答案:

答案 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);
    }
});