简体   繁体   中英

Trigger nested tab pane on Bootstrap 3

I'm developing a site using latest bootstrap release, and I need some help to figure out how to solve this:

I've nested two tab panes, to be able to manage a lot of information in little space (It´sa very long law and I need to show its articles clearly)

The first tabs divides the main sections, the nested shows in little pieces the articles.

It works fine in the main container.

But I´ll need a navigation tree in the sidebar, and I can´t trigger the nested pane tab if the parent one isn´t already enabled.

I think it could be posible to add some jquery to trigger the parent tab when clicking a direct link to a nested one, but I don´t get it... :(

This is the code (my apoligies, I see it too long):

<!-- Sidebar -->
<div class="bs-sidebar" role="complementary">
<ul id="test"> 
  <li><a href="#test_1" data-toggle="tab">Title I</a>
    <ul>
      <li><a href="#test_11" data-toggle="tab">Sub_Title I</a></li>
      <li><a href="#test_12" data-toggle="tab">Sub_Title II</a></li>
    </ul>
  </li>
  <li><a href="#test_2"  data-toggle="tab">Title II</a></li>
  <!-- ... -->
</ul>        
</div>

<!-- main container --> 
<div role="main">
 <h2>Some Title</h2>
 <div class="bs-example bs-example-tabs">
    <div class="panel panel-default">
      <div class="collapse navbar-collapse navbar-ex1-collapse">
        <ul id="tabs" class="nav nav-tabs">
            <li><a href="#test_1"  data-toggle="tab">Title I</a></li>
            <li><a href="#test_2"  data-toggle="tab">Title II</a></li>
            <!-- ... -->
        </ul>
      </div>          

<div class="panel-body parent">
  <div id="tabs_parent" class="tab-content">
    <div id="test_0" class="tab-pane active fade in">
      <p>Instructions</p>  
    </div>
  <div id="test_1" class="tab-pane fade">
      <ul>
        <li><a href="#test_11" data-toggle="tab">Sub_Title I</a></li>
        <li><a href="#test_12" data-toggle="tab">Sub_Title II</a></li>
      </ul>

      <div id="tabs_children" class="tab-content">
        <div id="test_11" class="tab-pane fade">
          <p>Sub-I Lorem ipsum dolor sit amet...</p>
        </div>
        <div id="test_12" class="tab-pane fade">
          <p>SubII - Morbi lectus nibh...</p>
        </div>

      </div>
    </div>

    <div id="test_2" class="tab-pane fade">
      <p>Morbi lectus nibh...</p>
    </div>
      <!-- ... -->

I have tested it yet! Just add some jQuery code to make it trigger

First,

Add id for some elements:

<li><a href="#test_11" id="id_test_11" data-toggle="tab">Sub_Title I</a></li>
<li><a href="#test_12" id="id_test_12" data-toggle="tab">Sub_Title II</a></li>

and

<li><a href="#test_1" id="id_test_1" data-toggle="tab">Title I</a></li>
<li><a href="#test_2" id="id_test_2" data-toggle="tab">Title II</a></li>

After, add this javascript code:

$('#id_test_11').on('click',function(e){
     $('#id_test_1').click()
});

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