简体   繁体   中英

How do I hide and show twitter bootstrap tabs?

I'm trying to show a hidden tab only when needed. My current code looks like this:

<ul id="myTab" class="nav nav-tabs">
    <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
    <li><a href="#data" data-toggle="tab" style="display:none;">New Tab</a></li>
</ul>

jquery:

$('#data').load('functions/test_function.php', { method: "example"}, function() {
    $('#data').tab('show'); 
   // $('#data').show();    
})

Any idea what I'm doing wrong? The tab is never displayed after the code completes.

With that provided code you are trying to display the tab content, and even that will not work.

As stated in the doc

each tab needs to be activated individually

And it needs to be activated on the data-toggle="tab" element, not the content.

$('#data').load('functions/test_function.php', { method: "example"}, function() {

    var $tab = $('[data-toggle="tab"][href="#data"]');
    // OR var $tab = $('#tabID');

    $tab.click(function(e) {      // Binding for later use (for user interaction)
        e.preventDefault();
        $tab.tab('show');
    });
    $tab.show();                  // Display the tab
    $tab.tab('show');             // Display the content
})

You can choose to keep the explicit selector [data-toggle="tab"][href="#data"] or set an id="tabID" on the hidden tab.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM