javascript - jQuery ui 选项卡选择所需的帮助。我可以取消该操作吗?

标签 javascript jquery jquery-ui jquery-ui-tabs

我正在使用以下函数来更新 jQuery ui 选项卡小部件上的选项卡。

 function updateTheTabs(select, disable) {
    var selectIdx = vehicleSelectorControl.tabIndexByName(select);
    $tabs.tabs('option', 'disabled', [])
        .tabs('option', 'disabled', convertToTabIndices(disable))
        .tabs('option', 'collapsible', true)
        .tabs('select', selectIdx)
        .tabs('option', 'collapsible', false)
        .tabs('select', selectIdx);      
}

我正在切换“可折叠”选项以实现客户端所需的行为。我还更新了 tabSelect 上选项卡的内容。我的问题是我只希望第一个 tabSelect 实际触发对服务器的调用。第二个 tabSelect 只是为了显示选项卡。我意识到这有点黑客行为。页面上的其他控件会影响选项卡状态,在某种情况下,已经选择了选项卡,因此第一个调用不会更新其内容,因此我将其设置为可折叠,选择它(实际上是取消选择它),设置collapsible 为 false,然后选择选项卡(这会正确触发更新)。无论如何,客户端喜欢当前的行为,除了我可以看到服务器被调用两次。我尝试将链分成两部分,并在中间设置一个 bool 变量,然后在决定更新选项卡时检查它。我没有完全得到我想要的行为。有人能在这里指出正确的方向吗?再说一遍,如果没有必要,我不想调用服务器。我想要一个不需要更改“updateTheTabs”功能的解决方案。非常感谢您的任何建议或提示。

干杯,
~ck 在圣地亚哥

最佳答案

我不确定我得到了你想要做的事情,但是对于“...除了我可以看到服务器被调用两次”这句话,我认为你想要缓存选项卡的内容。

启动选项卡时,您可以尝试将缓存选项设置为true:

$tabs.tabs({cache: true});

关于javascript - jQuery ui 选项卡选择所需的帮助。我可以取消该操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6586996/

相关文章:

javascript - 如何使用 typescript 在 Ionic 2.0 中包含 Angular 模式形式

javascript - 尝试配置 WebGL

javascript - AJAX 成功写入文件但文件为空

javascript - tinyMCE SetContent() 导致撤消步骤

javascript - jQuery UI 1.9 选项卡中的多个 show() 和 hide() 效果

javascript - 如何让 flash 消息与 Handlebars 一起使用?

javascript - D3 预渲染

jquery - 如何编写一个可以返回 3 个可能选项的 jquery 函数

javascript - 如何使用可排序的 jquery-ui 功能同时从两个表中拖放行进行排序?

jquery - 自定义 jquery 主题