如何使用javascript更改活动引导选项卡

时间:2016-09-13 01:44:47

标签: javascript jquery html twitter-bootstrap

我尝试更改活动标签但未能正确使用javascript onclick元素。这是代码:

<ul class="nav nav-tabs" style="text-align: left;">
    <li class="active"><a href="#first" data-toggle="tab">First</a></li>
    <li><a href="#second" data-toggle="tab">Second</a></li>
    <li><a href="#third" data-toggle="tab">Third</a></li>
</ul>

<div class=“tab-content">

<div id="first" class="tab-pane fade in active”>
Text

<a href="#second" class="btn btn-primary btn-lg" onclick=“CHANGE ACTIVE TAB TO SECOND” data-toggle="tab">Second</a>

<a href="#third" class="btn btn-primary btn-lg" onclick=“CHANGE ACTIVE TAB TO THIRD” data-toggle=“tab">Third</a>

</div>


<div id="second" class="tab-pane fade in”>
Text
</div>


<div id="third" class="tab-pane fade in”>
Text
</div>


</div>

我怎样才能使用按钮将活动标签更改为关联的ID?请指教。

祝你有美好的一天!

7 个答案:

答案 0 :(得分:35)

您也可以使用.tab('show')获得更大的灵活性

https://codepen.io/jacobgoh101/pen/ALELNr

<button class="btn btn-primary" onclick="menu3()">go to menu 3</button>

的javascript:

function menu3(){
  $('[href="#menu3"]').tab('show');
}

Bootstrap文档:https://getbootstrap.com/javascript/#tabs

答案 1 :(得分:11)

您可以在点击按钮时触发所需的标签

<ul class="nav nav-tabs" style="text-align: left;">
    <li class="active"><a href="#first" data-toggle="tab" id="first_tab">First</a></li>
    <li><a href="#second" data-toggle="tab" id="second_tab">Second</a></li>
    <li><a href="#third" data-toggle="tab" id="third_tab">Third</a></li>
</ul>

<div class="tab-content">        
    <div id="first" class="tab-pane fade in active">
        Text        
        <a class="btn btn-primary btn-lg" onclick="$('#second_tab').trigger('click')">Second</a>        
        <a class="btn btn-primary btn-lg" onclick="$('#third_tab').trigger('click')">Third</a>        
    </div>
    ....
</div>

这是一个Demo

答案 2 :(得分:1)

在 bootstrap5 上更新

<div class="tab-control" data-role="tab-control">
    <ul>
        <li><a href="#tab1">Tab 1</a></li>
        <li><a href="#tab2">Tab 2</a></li>
    </ul>
    <div class="frames">
        <div class="frame" id="tab1">
            //Content tab 1
        </div>
        <div class="frame" id="tab2">
            //Content tab 2
        </div>
    </div>
</div>



var someTabTriggerEl = document.querySelector('#tab1');
    var tab = new bootstrap.Tab(someTabTriggerEl);
    tab.show();

答案 3 :(得分:0)

我推荐了这些代码。

<div class="tab-control" data-role="tab-control">
    <ul>
        <li><a href="#tab1">Tab 1</a></li>
        <li><a href="#tab2">Tab 2</a></li>
    </ul>
    <div class="frames">
        <div class="frame" id="tab1">
            //Content tab 1
        </div>
        <div class="frame" id="tab2">
            //Content tab 2
        </div>
    </div>
</div>

在类属性中添加所需的效果。

答案 4 :(得分:0)

我建议使用数据属性方法,是一个干净的解决方案,并从控制器代码单独查看

<a href="#btn-next"data-next="#tab1" class="btn btn-primary">go to menu 1</a>
<a href="#btn-next"data-next="#tab2" class="btn btn-primary">go to menu 2</a>

的javascript:

$('a[href="#btn-next"]').on('click', function(event){
  event.preventDefault();
  var tab = $(this).data('next'); 
  $(tab).tab('show');
})

答案 5 :(得分:0)

这是您的js

$('#submit').click(function (e) {
    $('#myTab a[href=#tabs3-2k_tab2]').tab('show')
    e.preventDefault()
});

答案 6 :(得分:0)

工作示例

IIdentityServerInteractionService.RevokeTokensForCurrentSessionAsync
jQuery(document).ready(function ($) {
        $('#tabs').tab();
});

$('button').addClass('btn-primary').text('Switch to Orange Tab');
$('button').click(function(){
      $('#tabs a[href=#orange]').tab('show');
});