2011-07-01 64 views
2

我已經嘗試了很多,但沒有成功。我有3個選項卡。 Tab索引是0,1,2JQuery選項卡Ui不禁用

加載頁面時應禁用第2個選項卡索引。 當點擊第一個標籤索引時,第三個標籤索引應該啓用。

現在我在第三個標籤索引,如果我去0標籤索引比2標籤索引應該禁用。

所以

0指數=確定停用2RD指數

1指數=啓用2RD指數

2指數= 0,1使指數

,這是我想要的。 我在製表符-1時,下面的代碼不工作。沒有禁用索引2 :(

$('#Paymenttabs').tabs({ 
    select: function(e, ui) { 
     var isValid = true; 
     var num = 0; 
     if (ui.panel.id == "tabs-1"){ 
      $('#Paymenttabs').tabs("disable",[2]); 
     }else if (ui.panel.id == "tabs-2"){ 
      $('#Paymenttabs').tabs("enable" , 2) 
     }else if (ui.panel.id == "tabs-3"){ 
      $('#Paymenttabs').tabs("option","disabled",[]); 
     } 
    } 
}); 

回答

4

我認爲這正在發生的原因是因爲根據文檔:

選定的標籤不能被禁用

所以,當你從[tab3][tab1],您正試圖禁用[tab3],你目前在。您可以通過在少量時間內設置一個計時器並在該計時器完成後執行製表符切換代碼來解決此問題。這將確保活動選項卡是不是你想禁用一個:

$('#Paymenttabs').tabs({ 
    select: function(e, ui) { 
     setTimeout(function() { 
      var isValid = true; 
      var num = 0; 
      if (ui.panel.id == "tabs-1") { 
       $('#Paymenttabs').tabs("disable", 2); 
      } else if (ui.panel.id == "tabs-2") { 
       $('#Paymenttabs').tabs("enable", 2) 
      } else if (ui.panel.id == "tabs-3") { 
       $('#Paymenttabs').tabs("option", "disabled", []); 
      } 
     }, 10); 
    } 
}); 

這裏有一個工作示例:http://jsfiddle.net/Csq6x/

+0

惠特克,美不勝收。非常感謝。 – Pirzada

+0

@pirzada:沒問題,樂於幫忙! –