0

選択ボックスをカスタマイズするためにjqueryプラグインを使用しています。私の問題は、ドロップダウンリストを表示する矢印ボタンをクリックしてバインド/バインド解除したいということです。

フィドルをアップロードしました-http://jsfiddle.net/P6PeV/1/ したがって、基本的に「バインド解除」をクリックするとコンポーネントからコントロールが削除され、「バインド」をクリックするとコントロールがバインドされます。

助けていただければ幸いです。

4

1 に答える 1

1

それを正しく行うために、プラグインを少し変更します。このフィドルは、私が提案していることの原則を示しています:http: //jsfiddle.net/P6PeV/5/

ご覧のとおり、正常にバインド解除されますが、残念ながら、プラグインがどのように作成されたかを正しく再バインドするのは困難です(表示/非表示をトリガーするだけです)。

プラグインに提案する変更は次のとおりです。

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 に答える