2016-12-27 4 views
0

複数のselect2ドロップダウンリスト(同じオプションを含む)があり、各オプションを1回だけ選択する必要があります。 SELECT2イベントシステムを使用してSelect2は無効なオプションを1回だけ更新します

は、ドロップダウンが開かれるたびに、私はリストを通過し、他のドロップダウン

$('body').on('select2:open', '.resCombo', function (event) { 
    var $el = $(event.target); 
    $el.find('option').removeAttr('disabled'); 
    $('.resCombo').not($el).find('option:selected').each(function (index,el) { 
     console.log($(el).val()); 
     $el.find('option[value="'+ $(el).val() +'"]').attr('disabled','disabled'); 
    }) 
    $el.trigger('change.select2'); 
}); 

のいずれかを選択したすべてのオプションを無効にし、それは私が変える最初の時間を素晴らしい作品いずれかのドロップダウンでは何かが、二度目の試みでは決してありません。

+0

私はあなたがこのノックアウトhttps://codepen.io/DDN-Shep/pen/wBEEEQ – Noman

+0

@Nomanはむしろプロジェクトに別のlibを追加することなく、それを解決する必要があると思います。 –

答えて

1

Select2は無効なプロパティをキャッシュし、その変更をリッスンしません。 クイックフィックスは、プロパティを変更するたびにselect2を初期化することです。 彼らはまだこの機能をマージしていませんが、この機能を利用することができます。

Link to pull request

関連する問題