【问题标题】:Empty jQuery UI Tabs空的 jQuery UI 选项卡
【发布时间】:2009-04-06 15:18:06
【问题描述】:

如何清空(删除所有选项卡)一个 jQuery UI 选项卡?

编辑:我不是要删除标签功能,而是要清空所有标签以添加新标签。

我正在尝试:

for (var i = $('#content').tabs('length') - 1; i >= 0; i--) {
    $('#content').tabs('remove', i);
}

但 tabs('length') 总是返回 0,即使控件中添加了一些选项卡。

顺便说一句,我将它初始化为空

$('#content').tabs();

之后动态添加标签

$('#content').tabs( 'add' , '' , data[i].nombre);

【问题讨论】:

    标签: jquery jquery-ui jquery-ui-tabs


    【解决方案1】:

    我在遍历选项卡并将它们全部删除时遇到了麻烦,就像您在问题中所做的那样。我的解决方案是删除第 0 个选项卡的次数等于选项卡对象的“长度”方法返回的值:

    var tab_count = $('#tabs').tabs('length');
    for (i=0; i<tab_count; i++){
        $('#tabs').tabs( "remove" , 0 )
    }
    

    【讨论】:

    • 对不起,什么? Error: no such method 'length' for tabs widget instance (indeed)
    【解决方案2】:

    我遇到了类似的问题。为了在加载新标签之前从先前的请求中删除标签,我采取了以下步骤:

    1. 删除了标签(#tabs ul li),
    2. 删除了标签内容(#tabs div)和
    3. 刷新了标签。

    这是我使用的代码。为我工作。希望它对你有用。

    $('div#tabs ul li').remove();
    $('div#tabs div').remove();
    $("div#tabs").tabs("refresh");
    

    我在网上找到的其他解决方案对我不起作用。

    【讨论】:

      【解决方案3】:

      您应该能够从选择器中取消绑定选项卡。

      $('#content').unbind();
      

      编辑:

      直接来自 jQuery 文档

      .tabs( 'destroy' );
      

      完全删除标签功能。这会将元素返回到其初始化前的状态。

      【讨论】:

      • 感谢您的回答。我不是要清除标签功能,而是要删除当前标签以添加新标签。
      【解决方案4】:

      您是否尝试添加非空 url 的选项卡?

      $('#content').tabs( 'add' , 'non empty url' , data[i].nombre);
      

      复制自官方文档 (http://docs.jquery.com/UI/Tabs#method-add)

      .tabs( 'add' , url , label , [index] )
      

      添加一个新标签。第二个参数要么是一个包含片段标识符的 URL,仅用于创建页内选项卡,要么是一个完整的 URL(相对或绝对,不支持跨域),以将新选项卡转换为 Ajax(远程)选项卡。第三个是插入新标签的从零开始的位置。可选,默认情况下在末尾附加一个新选项卡。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多