取消绑定/绑定单击jquery selectbox插件

时间:2012-07-24 06:20:50

标签: javascript jquery

我正在使用jquery插件来自定义选择框。我的问题是我想绑定/取消绑定点击箭头按钮,它会显示下拉列表。

我上传了我的小提琴 - http://jsfiddle.net/P6PeV/1/ 所以基本上单击'unbind'它应该从组件中删除控件,然后单击'绑定它应该绑定控件。

任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

为了正确地做,我会略微修改插件。这个小提琴显示了我的建议的原则: http://jsfiddle.net/P6PeV/5/

因为你可以看到它解开很好,不幸的是hte插件写得很难正确地重新绑定它(我只是触发一个show / hide)。

我建议插件的更改是:

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');
})