2016-09-13 36 views
0

我有五個選項卡,其中第一個選項卡是活動選項卡。在用戶單擊任何其他選項卡而不是第一個選項卡選項卡中,應使用noty插件向用戶顯示一條錯誤消息,他應該首先單擊第一個選項卡,即活動選項卡。當用戶單擊第一個選項卡時,必須啓用第二個選項卡,但不能啓用第三個和第四個,同樣當用戶點擊第三個選項卡時,第四個選項卡必須啓用等等直到最後一個選項卡。如何顯示錯誤消息,當用戶單擊其他選項卡而不是活動選項卡

這裏是我的代碼

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <title>Bootstrap Case</title> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
    <script type="text/javascript" src="jquery.noty.packaged.js"></script> 


</head> 
<body> 

<div class="container"> 

    <!-- Nav tabs --> 
    <ul id="mytabs" class="nav nav-tabs" role="tablist"> 
     <li class="active"> 
      <a href="#first" role="tab" data-toggle="tab"> 
       <i class="fa fa-home"></i> First tab 
      </a> 
     </li> 
     <li class="disabled disabledTab second" ><a href="#second" role="tab" data-toggle="tab"> 
      <i class="fa fa-user"></i> Second tab 
      </a> 
     </li> 
     <li> 
      <a href="#third" role="tab" data-toggle="tab"> 
       <i class="fa fa-envelope"></i> Third tab 
      </a> 
     </li> 
     <li> 
      <a href="#fourth" role="tab" data-toggle="tab"> 
       <i class="fa fa-envelope"></i> Fourth tab 
      </a> 
     </li> 
     <li> 
      <a href="#fourth" role="tab" data-toggle="tab"> 
       <i class="fa fa-envelope"></i> Fifth tab 
      </a> 
     </li> 
    </ul> 

    <!-- Tab panes --> 
    <div class="tab-content"> 
     <div class="tab-pane fade active in " id="first"> 
      <h2>First tab</h2> 
     </div> 
     <div class="tab-pane fade disabled" id="second"> 
     <a href="javascript:show_create_case_msg();"> 
      <h2>Second tab</h2> 
     </div> 
     <div class="tab-pane fade" id="third"> 
      <h2>Third tab</h2> 
     </div> 
     <div class="tab-pane fade" id="fourth"> 
      <h2>Fourth tab</h2> 
     </div> 
     <div class="tab-pane fade" id="fifth"> 
      <h2>Fifth tab</h2> 
     </div> 

    </div> 

</div> 

</body> 
</html> 
+1

你可以通過編寫簡單的jquery來實現這一點。在開始時禁用除第一個選項卡以外的所有選項卡,然後單擊任何選項卡時檢查是否已經單擊了以前的選項卡。如果沒有,然後給該消息否則激活該選項卡通過保持下一個標籤禁用 – mahesh

回答

0

將類.disabled添加到html中的所有選項卡,第一個選項除外。然後添加下面的代碼:

$(".disabled").click(function(e){ 
    e.preventDefault(); 
    show_create_case_msg(); 
}); 

$(".tab-pane:not(.disabled)").click(function(){ 
    $(this).next().removeClass("disabled"); 
}); 
+0

當我點擊頁面加載第二個標籤,然後它顯示我的錯誤,但它顯示的第二個標籤的內容,它不應該進入第二個標籤除非第一個標籤被點擊。 – Ninad

+0

'preventDefault()'應該取消點擊並且不運行你點擊觸發器的函數 –

+0

創建一個小提琴,我會將它添加到它並告訴你它是如何工作的 –

相關問題