2012-08-22 67 views
0

我在我的頁面中有3個jQuery UI標籤。我爲每個選項卡調用一些函數。jquery ui標籤操作

$( 「#tabs」).tabs({

select: function(event, ui) { 
      var text = ui.tab.text; 
      $("#tab1, #tab2, #tab3").empty(); 
      switch(text){ 
       case 'tab1': 
        //function 
        break; 
       case 'tab2': 
        //function 
        break; 
       case 'tab3': 
        //function 
        break; 
      } 
     } 
    }); 

在某些情況下,我必須開TAB2,例如,通過從#DIV TAB1一個按鈕,但有不同的邏輯,從此我使用:

$("#tab2").html("text tab2"); 
$("#tabs").tabs("select", 1); 

該操作插件「文本TAB2」到#TAB2塊,但「標籤(選擇,1)」事件打開第二標籤和執行從上述開關殼體「TAB2」的功能。

如何添加我的文本我在選項卡並打開它,而不使用選項「選擇」?

回答

0

因此,我沒有找到解決這個問題的任何解決方案,但我通過另一種方法解決了這個問題,通過發送給選項卡的cookie變量禁用'select case tab2 functions'。

$("#tabs").tabs({ 
select: function(event, ui) { 
     var text = ui.tab.text; 
     var type = ""; 
     $("#tab1, #tab2, #tab3").empty(); 
     var cook = $(this).tabs("option", "cookie"); 
     if(cook){ 
      type = cook.type; 
     } 
     switch(text){ 
      case 'tab1': 
       //function 
       break; 
      case 'tab2': 
       if(type!='extern'){ 
         //function 
       } 
       break; 
      case 'tab3': 
       //function 
       break; 
     } 
     //remove the cookie 
     $(this).tabs({cookie: {type: ""}}); 
    } 
}); 

爲了通過另一鏈接打開卡,使用 '選擇' 選項而不穿過殼體 'TAB2':

$("#tab2").html("text tab2"); 
$("#tabs").tabs({cookie: {type: "extern"}}); 
$("#tabs").tabs("select", 1);