jquery tabs回发问题

时间:2009-03-01 16:50:27

标签: jquery tabs

我在我的项目中使用jquery库。我有一个jquery tabs的可怕问题。解决方案是,当我在第三个选项卡时,我回发我的表单,选项卡重新加载并转到第一个选项卡。 我正在寻找解决问题很长时间。

<script type="text/javascript">
    $(document).ready(function() {
        $("#example > ul").tabs({ remote: true, cache: true });
    });       
</script>

那我怎么解决这个问题呢? 你的答案。

4 个答案:

答案 0 :(得分:24)

您没有指定是否使用ASP.NET,但如果您使用ASP.NET,则可以将当前选定的选项卡存储在&lt; asp:HiddenField /&gt;中。而不是cookie:

<script type="text/javascript" language="javascript">
    $(function() {
        $("#example").tabs({
            show: function() {
                var sel = $('#example').tabs('option', 'selected');
                $("#<%= hidLastTab.ClientID %>").val(sel);
            },
            selected: <%= hidLastTab.Value %>
        });
    });
</script>
<asp:HiddenField runat="server" ID="hidLastTab" Value="0" />

如果不是ASP.NET,你可能会做类似的事情。

答案 1 :(得分:13)

标签可以使用Cookie来存储当前标签。看一下标签documentation。在选项列表中,有一个如何使用cookie存储当前选项卡的示例:

$('.selector').tabs({ cookie: { expires: 30 } });

这需要包含jquery cookies plugin

答案 2 :(得分:1)

我试图使用joelsand发布的解决方案。但是,jQuery选项卡选项和事件已更改。当前文档位于http://api.jqueryui.com/tabs/

我使用“激活”事件代替“show”事件。 我使用“有效”选项代替“已选择”选项。 我使用了一个JavaScript变量(在U​​pdatePanel之外声明)

而不是隐藏字段

答案 3 :(得分:0)

我遇到了同样的问题,通过在jquery选项卡中添加以下内容来修复选择事件处理程序:

$("div.ui-tabs-panel").html("");

它有效地清除所有现有面板以防止形状堆叠。