2011-07-01 8 views
2

私はたくさん試しましたが成功しませんでした。私は3つのタブがあります。タブのインデックスは0,1,2JQueryタブを無効にしていない

ページがロードされると、2番目のタブインデックスは無効にする必要があります。 第1のタブインデックスをクリックすると、第3のタブインデックスが有効になります。

今私は3番目のタブインデックスにあります。もし私が0タブインデックスに行くなら、2タブインデックスは無効にするべきです。

ので

0インデックス= disbale 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]から、01を無効にしようとしています(あなたが現在いる)これを回避するには、タイマーを少し時間設定し、そのタイマーが完了した後にタブ切り替えコードを実行します。これは、アクティブなタブでは、無効にしようとしているものではないことが保証されます:

$('#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:問題ありません、喜んで助けてください! –

関連する問題