我试图弄清楚如何让 jquery-tabs 记住当表单被提交并重定向到 get 时哪个选项卡处于打开状态。我找到了很多例子,但他们都说要ui.index
在select
事件中使用,文档中都没有;我已经确认这ui.index
不是该对象的一部分。$("#MyTabs").tabs("option", "selected")
在事件中使用activate
可以让我获得先前选择的选项卡的索引,而不是用户刚刚选择的选项卡。如,如果选择了选项卡 0 并单击选项卡 3,我得到 0,而不是 3。active
如果我不知道索引,则无法使用该选项。
我应该只计算 jquery 变成选项卡的无序列表中的列表项,然后使用它们从 div ID 映射ui.newPanel
,还是有更优雅的方法来做到这一点?一旦我得到了正确的索引,我可能会将它添加到查询字符串中。如果用户打开了多个窗口或浏览器选项卡,cookie 解决方案并不适合我。
编辑:问题是该active
选项需要一个索引,但事件的ui
参数activate
似乎只给了我选项卡和选项卡内容的li
anddiv
元素。由于曾经有一处ui.index
房产,我想知道我是否遗漏了什么。
编辑:感谢 Kush,这是我使用的解决方案;为简洁起见,我省略了一些代码。
function Document_OnReady() {
$("#MyTabs").tabs({
active: $("input.InitialTabIndex").val()
});
function SetInitialTab() {
$("input.InitialTabIndex").val($("#MyTabs").tabs("option", "selected"));
}
function Form_OnSubmit() {
SetInitialTab();
}
当服务器处理 POST 时,我读取表单值,然后在重定向到 get 时将其添加到查询字符串中。
谢谢!