簡體   English   中英

選項卡需要單擊兩次以將選項卡更改為活動選項卡

[英]tabs need to click twice to change the tab to the active tab

我有一個關於活動標簽的問題。我使用.append()來構建標簽,並且我不使用href連接標簽的數據。
當我單擊tab .console log()以顯示活動選項卡的文本時。
我的問題是,當我單擊選項卡2時,活動選項卡的文本仍然是選項卡1。
我必須再次單擊選項卡2,活動選項卡將更改為選項卡2。我沒有看到遇到相同問題的任何人,因此希望有人可以幫助我。 謝謝。

 <!DOCTYPE html>
        <html lang="en">
        <head>
          <title>Bootstrap Example</title>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
          <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
        </head>
        <body>

        <div class="container">
          <h2>Dynamic Tabs</h2>
          <ul class="nav nav-tabs">
          </ul>
        </div>

        <script>
        $(document).ready(function(){
            for(i = 1;i <= 2 ; i++){
              renewid='tab_'+i;
              if(i == 1){
                $('.nav-tabs').append("<li class='active'><a data-toggle='tab' id=" + renewid + ">Chart"+ [i] +"</a></li>");
              }
              else{
                $('.nav-tabs').append("<li><a data-toggle='tab' id=" + renewid + ">Chart"+ [i] +"</a></li>");
              }
            };
            $(".nav-tabs a").click(function(){
                alert('set_active = ' + $('.nav-tabs .active').text());
            });
        });
        </script>

        </body>
        </html>

使用shown.bs.tab事件而不是click

$(".nav-tabs a").on('shown.bs.tab', function () {
    alert('set_active = ' + $('.nav-tabs .active').text());
});

您只需在點擊事件發生時應用“ addClass”方法,就可以在下面的代碼段中看到:

 $(document).ready(function(){ for(i = 1;i <= 2 ; i++){ renewid='tab_'+i; if(i == 1){ $('.nav-tabs').append("<li><a data-toggle='tab' id=" + renewid + ">Chart"+ [i] +"</a></li>"); } else{ $('.nav-tabs').append("<li><a data-toggle='tab' id=" + renewid + ">Chart"+ [i] +"</a></li>"); } }; $(".nav-tabs a").click(function(){ $('.nav-tabs').find('li').removeClass('active'); $(this).closest('li').addClass('active') alert('set_active = ' + $('.nav-tabs .active').text()); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="container"> <h2>Dynamic Tabs</h2> <ul class="nav nav-tabs"> </ul> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM