我正在使用 jquery 插件来自定义选择框。我的问题是我想绑定/取消绑定单击将显示下拉列表的箭头按钮。
我已经上传了我的小提琴 - http://jsfiddle.net/P6PeV/1/ 所以基本上点击“取消绑定”它应该从组件中删除控件,点击“绑定”它应该绑定控件。
任何帮助表示赞赏。
我正在使用 jquery 插件来自定义选择框。我的问题是我想绑定/取消绑定单击将显示下拉列表的箭头按钮。
我已经上传了我的小提琴 - http://jsfiddle.net/P6PeV/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');
})