【问题标题】:Jquery How maintain state between postbacks in jquery?Jquery 如何在 jquery 中维护回发之间的状态?
【发布时间】:2012-07-10 16:05:49
【问题描述】:

我正在使用 jquery 选项卡并遵循 js 方法,我可以如何以及如何修改它以在回发之间保持选项卡状态? (这会将选项卡重置为 page_load 后的第一个选项卡)

$(document).ready(function() { //页面加载时...
$(".tab_content").hide(); //隐藏所有内容
$("ul.tabs li:first").addClass("active").show(); //激活第一个标签 $(".tab_content:first").show(); //显示第一个标签内容 //点击事件 $("ul.tabs li").click(function() {
$("ul.tabs li").removeClass("active"); //删除任何“活动”类
$(this).addClass("active"); //将“活动”类添加到选定的选项卡 $(".tab_content").hide(); //隐藏所有标签内容
var activeTab = $(this).find("a").attr("href"); //查找href属性值标识活动标签+内容
$(activeTab).fadeIn(); //淡入活动ID内容 return false; });

【问题讨论】:

    标签: jquery-ui


    【解决方案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);
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2011-06-10
      • 2010-10-04
      • 2010-11-29
      • 1970-01-01
      • 2020-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      相关资源
      最近更新 更多