Having trouble deselecting all jquery tabs

2019-06-28 08:15发布

问题:

I set up some jQuery tabs to start off with no tabs selected like this:

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

Then I also have a separate link that when pressed needs to deselect all the tabs.

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

or

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

The deselectButton click does deselect the tabs content, however the tabs title remains active with the class 'ui-tabs-selected ui-state-active'.

What is the correct way to deselect all the tabs?

回答1:

Try this code:

$("#deselectButton").click(function(){          
    $('#tabs').tabs( 'selected' , -1 )
    $(".ui-tabs-selected").removeClass("ui-state-active").removeClass("ui-tabs-selected");
});


回答2:

jQuery 1.10 requires the collapsible option to be set to true.

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


回答3:

If you are using the jQuery UI version 1.9+ then the CSS code has changed to:

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

or:

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

as per comments below. Thanks