2012-07-24 120 views
0

我正在使用jquery插件來自定義選擇框。我的問題是我想綁定/解除綁定點擊箭頭按鈕,將顯示下拉列表。解除綁定/綁定點擊一個jQuery選擇框插件

我已經上傳了我的小提琴 - http://jsfiddle.net/P6PeV/1/ 所以基本上點擊'取消綁定'它應該從組件中刪除控件,並點擊'綁定它應該綁定控件。

任何幫助表示讚賞。

+0

你能分享,其選擇框插件,您使用? – Shant 2012-07-24 06:38:02

+0

我使用這裏的插件info.wsisiz.edu.pl/~suszynsk/jQuery/demos/jquery-selectbox/ – user1184100 2012-07-24 06:38:51

回答

1

要做到這一點,我會稍微修改插件。這小提琴顯示我的建議的主要: http://jsfiddle.net/P6PeV/5/

,你可以看到它解除綁定罰款,興田插件是不幸的是如何編寫它很難正確地重新綁定(IM只是trigging顯示/隱藏)。

我建議到插件的變化將是:

replacement.find('.' + settings.className + '-moreButton').click(function(){ 
     if($(this_).attr('disabled') != 'disabled') { // <============= THIS LINE 
     var thisMoreButton = jQuery(this); 
     var otherLists = jQuery('.' + settings.className + '-list') 
      .not(thisMoreButton.siblings('.' + settings.className + '-list')); 
     hideList(otherLists); 
     var thisList = thisMoreButton.siblings('.' + settings.className + '-list'); 

     if(thisList.filter(":visible").length > 0) { 
      hideList(thisList); 
     }else{ 
      showList(thisList); 
     } 
     } //<======== END IF 

然後你不需要任何解除綁定..只是:

$('#unbind').click(function() { 
    $("#selectbox1").attr('disabled','disabled'); 
}) 
$('#bind').click(function() { 
    $("#selectbox1").removeAttr('disabled'); 
}) 
+0

感謝克里斯..甚至我想到了同樣的事情:)將接受答案 – user1184100 2012-07-24 06:57:55