在帖子后面保留当前的jQuery选项卡?

Abe*_*ler 20 asp.net jquery postback

我使用jQuery选项卡和ASP.NET列表视图来显示和编辑一些信息.我的问题是,当用户在其中一个listview项中插入新记录时,我的jQuery选项卡会返回到第一个选项卡.有没有办法跟踪我在哪个标签上或者让它不在后面放置?

Llo*_*ell 33

在asp.net中,您可以将其存储在隐藏字段中,而无需使用cookie(不需要jquery cookie引用).

用这个 :

$(function () {
    $("#tabs").tabs({ 
        activate: function() {
            var selectedTab = $('#tabs').tabs('option', 'active');
            $("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);
        },
        active: <%= hdnSelectedTab.Value %>
    });
});
Run Code Online (Sandbox Code Playgroud)

然后在正文中,声明隐藏的标签字段:

<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />
Run Code Online (Sandbox Code Playgroud)

基本上,在选择选项卡时,您将选中的选项卡值存储在asp隐藏字段中.然后显示您正在检索该值.


小智 30

随着更新版本的jQuery和jQuery ui,这将是:

$(function () {
    $("#tabs").tabs({
        activate: function() {
            var selectedTab = $('#tabs').tabs('option', 'active');
            $("#<%= hdnSelectedTab.ClientID %>").val(selectedTab);
        },
        active: document.getElementById('<%= hdnSelectedTab.ClientID %>').value
    });
});
Run Code Online (Sandbox Code Playgroud)

'selected'选项被'active'替换...当然你还需要添加隐藏字段:

<asp:HiddenField ID="hdnSelectedTab" runat="server" Value="0" />
Run Code Online (Sandbox Code Playgroud)

  • `active:document.getElementById('<%= hdnSelectedTab.ClientID%>').value (3认同)