2010-08-08 61 views
3

嗨我想創建一個嚮導第一次我想禁用所有的手風琴選項卡,當我點擊鏈接啓用下一個選項卡並打開它.. 我有這個代碼,但它禁用所有標籤:( 感謝jqueryui手風琴禁用特定的選項卡

$(function() { 
    $("#list1a").accordion({ 
    autoHeight: false, 
    navigation: false 
    }); 
}); 
$("#list1a").accordion("disable"); 
$("#list1a").accordion("activate", 2); 

回答

2

不要使用該手風琴,它不適合魔法而且因爲有一個在jQuery用戶界面沒有可用的嚮導組件,讓讓我們自己。)

HTML :

<ul class="ui-wizard"> 
    <li class="ui-wizard-panel"> 
     <h3 class="ui-wizard-header">panel 1</h3> 
     <div class="ui-wizard-content"> 
      Panel content 
      <span class="ui-wizard-next">Goto next</span> 
     </div> 
    </li> 
    <li class="ui-wizard-panel"> 
     <h3 class="ui-wizard-header">panel 1</h3> 
     <div class="ui-wizard-content"> 
      Panel content 
      <span class="ui-wizard-next">Goto next</span> 
     </div> 
    </li> 
</ul> 

JavaScript的插件:

$.fn.wizard = function(){ 
    this.find('.ui-wizard-content').hide(); 
    this.find('.ui-wizard-content:first').show(); 
    this.find('.ui-wizard-content:last .ui-wizard-next').hide(); // just in case 
    this.delegate('.ui-wizard-next', 'click', function(){ 
     // very long jquery chain... 
     $(this).closest('.ui-wizard-content') 
      .hide('fast') 
      .closest('.ui-wizard-panel') 
      .next() 
      .find('.ui-wizard-content') 
      .show('fast'); 
    }); 
} 

的JavaScript IMPL:

$(".ui-wizard").wizard(); 

Ofcourse ..你不得不主題它自己,雖然複製/粘貼,重命名手風琴的風格讓你很長的路要走。更好的方法是製作一個官方的精靈小部件。

0

嘗試UI狀態禁用類:http://api.jqueryui.com/theming/css-framework/ 考慮這一段代碼,讓用戶回去,但不能進入下一個手風琴標籤:

function disableAccordionNextTabs() { 
    var $accordion = $(".accordion"); 
    var active  = $accordion.accordion('option', 'active'); 
    var $headers = $accordion.find($accordion.accordion('option', 'header')); 

    $headers.addClass('ui-state-disabled'); 
    for (var i = active; i >= 0; i--) { 
     $headers.eq(i).removeClass('ui-state-disabled'); 
    } 
}