2016-10-18 8 views
0

私はselect2を使用しています。ここでは、配列を使用して2つの選択ボックスにオプションを読み込みます。 dropdown1からオプションを選択すると、dropdown2のいくつかの値が削除されます。現在、dropdown2からオプションを削除できますが、最初にすべての値を再設定することはできません。また、ドロップダウン1の値を選択解除すると、ページのロード時と同じように、すべての値がドロップダウン2に入力されます。ここで別の選択で選択したオプションを削除する際にselect2オプションを再入力

コードです:

var data = [{ id: 1, text: 'select' }, 
     { id: 2, text: 'A' }, 
     { id: 3, text: 'B' }, 
     { id: 4, text: 'C'}]; 

$('#select1').select2({data: data}).on(
       'change', 
       function() { 
          if(this.value== 1) 
          $('#select2').find('option[value=2]').remove(); 
          else 
          $('#select2').find('option[value=4]').remove(); 
          } 
         }); 

このコードは、オプションが削除されますが、私は再びSELECT1から他のオプションを選択した場合、このオプションは表示されません。また、ページに7〜8回のドロップダウンが付いた多数のオプションがあります。これは私がやろうとしていることの一例です。

何か助けていただければ幸いです。例を探しています。

答えて

0

オプションを再投入するときに2番目のドロップダウンのselect2を再読み込み/再初期化しようとしましたか?

これが役立つかどうかはわかりません。

リファレンス - https://select2.github.io/examples.html $( "JS-例 - データアレイ。")SELECT2({ データ:データ })あなたはその変更イベント/機能に、dropdown1から選択解除するときのような

ます。試すことができます $( '#select2')。select2({data:data});

+0

私はこれを試しましたが、これは役に立ちません。 –

+0

ドロップダウンを空にしてもう一度入力してみることはできますか?特定のイベントで。 –

+0

ページには8つのドロップダウンがあります。それぞれが少なくとも5-6のオプションを持っています。そうすれば、jqueryコードがたくさんあるでしょう。その理由は、ほんの数行のコードでなければならないものが欲しいからです。 –

関連する問題