2014-12-02 89 views
13

我在我的html表單上實現了selectize。但是,只有在單擊「啓用」複選框後,下拉菜單纔會變爲活動狀態。我知道在selectize對象上有一個禁用屬性,但我不知道如何在複選框被點擊時使用它。當檢查複選框時禁用選擇性下拉列表

我曾嘗試添加禁用的類到selectize div元素,但那也不起作用。 任何幫助將不勝感激。

謝謝

回答

16

這是有點奇怪,你必須設置它。這是對我有用的東西。

var select = $("#YourDropDownId").selectize(); 
var selectize = select[0].selectize; 
selectize.disable(); 
22

我想在這裏增加一個額外的答案,因爲雖然@ tclark333的答案是正確的,這是一個有點誤導,因爲第一行是selectize對象的實際初始化,而不是實際上是需要什麼樣的答案。

當您從jQuery對象訪問底層元素的selectize屬性時,選擇性API會暴露,而不是作爲jQuery自身的擴展。

假設已經selectized的ID的元素是 「myDropDown」:

//disable 
$('#myDropDown')[0].selectize.disable(); 
//re-enable 
$('#myDropDown')[0].selectize.enable(); 
0
function generateCircle(id , jPath){ 
     var formId =$("#"+id).closest(".data_details_accord").find("form"); 
     var select = formId.find("select"); 
     /*disable select initially*/ 
     select.each(function(){ 
      var thisSelect = $(this).selectize(); 
      thisSelectDisable = thisSelect[0].selectize; 
      thisSelectDisable.disable(); 
     }); 

     /***********/ 

     $.ajax({ 
      url: jPath, 
      data:formVlaz, 
      success: function(result){ 

      },error: function (xhr , status, eror) { 
      },complete: function (xhr) { 

       /*enable select when ajax complete*/ 
        select.each(function(){ 
         var thisSelect = $(this).selectize(); 
         thisSelectDisable = thisSelect[0].selectize; 
         thisSelectDisable.enable(); 
        }); 

       /********/ 
      } 
     }); 
    };