无法取消选择所有jquery选项卡

4

我设置了一些jQuery选项卡,一开始没有选中任何选项卡,如下所示:

$('#tabs').tabs( { selected: -1 } );  

我还有一个独立的链接,按下该链接时需要取消选择所有选项卡。

$("#deselectButton").click(function(){      
    $('#tabs').tabs( 'select' , -1 )
});

或者

$("#deselectButton").click(function(){      
    $('#tabs').tabs( 'selected' , -1 )
});
会取消选中标签页的内容,但是标签页标题仍然保持激活状态,具有“ui-tabs-selected ui-state-active”类。 <如何正确地取消选择所有标签页?>
3个回答

6
请尝试以下代码:
$("#deselectButton").click(function(){          
    $('#tabs').tabs( 'selected' , -1 )
    $(".ui-tabs-selected").removeClass("ui-state-active").removeClass("ui-tabs-selected");
});

是的,这样做了,谢谢你。$(".ui-tabs-selected").removeClass("ui-state-active").removeClass("ui-tabs-selected").addClass("ui-state-default"); - Julian
运行得很好,但不确定为什么插件默认跳过第二个位(?)。最后一位可以简化为:$('#tabs').find('.ui-tabs-selected').removeClass('ui-state-active ui-tabs-selected'); - nickb

3

jQuery 1.10要求折叠选项必须设置为true,选项

$('#tabs').tabs('option', 'collapsible', true);
$('#tabs').tabs( 'option', 'active', false );

2
如果您正在使用jQuery UI版本1.9+,则CSS代码已更改为:
$('#tabs').tabs('option', 'active', false);

或者:

$('.ui-tabs-active').removeClass('ui-tabs-active ui-state-active');

根据下面的评论。谢谢

更简单的写法:$('#tabs').tabs('option', 'active', false); - Srisa
1
从1.10版本开始,第一种解决方案不再适用。但第二种仍然有效。 - Tom Kincaid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接