2016-11-23 9 views
0

私は3030のオプション(ハードコード)から選択できるインターフェイスをユーザに提供しました。bootstrap dualListBoxに表示されます。<option>要素を選択した量に基づいて動的に無効にする

しかし、これは私が た後、左側で選択されている可能性がすべてのオプションは、無効になって10に選択できるオプションの最大量を設定したい完璧に動作します。

ユーザーが選択したオプションを削除すると、他のユーザーが選択できるようになります。

これを実現するためにjqueryを使用することに気づきましたが、選択した量をどのようにカウントするか、残っている選択肢をどのように無効にするか、再び利用可能にするかは不明です。

この問題を正しく解決する方法についてアドバイスはありますか?

私は二重のリストボックスのために使用していますプラグインはここで見つけることができます:

Bootstrap dualListBox

答えて

0

まず私は、変更イベントを結合する、選択した項目の数が同じであるか、そして、超えたならば、私がチェックします要素の最大数、もしそうなら、私はそれを無効にします。 (これは、コードをテストされていません)

+0

私はこれをテストしている

$('#selector-id').on('change', function(e){ var selectedElements = $(this).val(); if(selectedElements && selectedElements.length >= 10){ $(this).prop('disabled', true); } else { $(this).prop('disabled', false); } }); 

: 、私は正しいあなたの質問を理解していれば、それは次のようになります。 on( 'change')イベントは正常に呼び出されますが、10を超えて選択すると何も起こりません –

+0

うーん、うまくいきますが、それ以降は変更できません。https:// jsfiddle.net/s0zwg7td/ –

+0

申し訳ありません、私はちょうどブートストラップdualListBoxへのリンクを見ました。ユーザーが2番目の選択ボックスの項目をクリックすると、最初のselecboxを '$( 'selector-id')で再度有効にする必要があります。prop( 'disabled'、false ');'これが役に立ちます。 –

関連する問題