jquery - 记住选定的选项卡

标签 jquery jquery-ui jquery-tabs

我试图弄清楚如何让 jquery-tabs 记住提交表单并重定向到 get 时哪个选项卡处于打开状态。我找到了很多例子,但他们都说在 select 事件中使用 ui.index ,其中 is in the documentation 都没有。 ;我已确认 ui.index 不是该对象的一部分。在 activate 事件中使用 $("#MyTabs").tabs("option", "selected") 可以获取之前选择的选项卡的索引,但是不是用户刚刚选择的选项卡。例如,如果选择选项卡 0 并且单击选项卡 3,我会得到 0,而不是 3。如果我不知道索引,则无法使用 active 选项。

我应该只计算 jquery 转换为选项卡的无序列表中的列表项,然后使用它们从 ui.newPanel 中的 div ID 进行映射,还是有更优雅的方法去做吧?一旦获得正确的索引,我可能会将其添加到查询字符串中。如果用户打开多个窗口或浏览器选项卡,则 cookie 解决方案不适合我。

编辑:问题是active选项需要一个索引,但是activateui参数> 事件似乎只为我提供了选项卡和选项卡内容的 lidiv 元素。由于曾经有一个 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 时将其添加到查询字符串中。

谢谢!

最佳答案

创建隐藏字段。单击任何选项卡时,将选项卡索引保留在该隐藏字段上,这样下次重定向页面就不会出现问题。您可以使用隐藏字段表单元素来重定向页面。

$('#hidden_field').val($tabs.tabs('option', 'selected'));

关于jquery - 记住选定的选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941930/

相关文章:

javascript - Skycons/Dark Sky Forecast API,显示动态创建的 DIV 的动画图标

javascript - 无法使用ajax在codeigniter中显示模态

javascript - 代码不适用于 JS Fiddle

jquery - 我可以在页面刷新时或离开页面时保留相同的 jQuery 选项卡吗?

jQuery ui 选项卡动画改变选项卡之间的高度

javascript - 菜单图标切换问题 JQuery

jquery - Google Chrome - JQuery 将选项附加到下拉菜单

php - 单击图像时需要打开 bpopup

javascript - jQuery 中的链式文本框

jquery - 向 jquery ui 选项卡添加关闭按钮?