0

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

我已经上传了我的小提琴 - http://jsfiddle.net/P6PeV/1/ 所以基本上点击“取消绑定”它应该从组件中删除控件,点击“绑定”它应该绑定控件。

任何帮助表示赞赏。

4

1 回答 1

1

为了正确地做到这一点,我会稍微修改插件。这个小提琴显示了我建议的主要内容:http: //jsfiddle.net/P6PeV/5/

正如您所看到的,它解绑很好,不幸的是,hte 插件的编写方式很难正确重新绑定(我只是触发显示/隐藏)。

我建议对插件的更改是:

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');
})
于 2012-07-24T06:52:54.897 回答