2017-05-17 3 views
0

select2 multiple selectに以下のシナリオを実装しようとしています。指定した値を選択したときにselect2を複数クリアする

  1. ユーザーは
  2. ユーザーが
  3. を選択し、以下のテキストをプレースホルダを持つ
  4. 選択がクリーンアップを選択し、選択したすべての値に「いいえ必要なプログラム」を選択していないいくつかのオプションを選択します:「いいえ必要な機能」
  5. ここで

は私のhtmlです:

<select multiple="multiple" name="transfer_posting[pap_facility_feature_ids][]" id="transfer_posting_pap_facility_feature_ids"><option value="No Required Features">No Required Features</option> 
    <option value="13">Pool</option> 
    <option value="15">Sauna</option> 
    <option value="16">Salon</option> 
    <option value="17">Massage</option> 
</select> 

とJavaScript:

ここ
$('#transfer_posting_pap_facility_feature_ids').select2({ 
    placeholder: 'Select Feature(s)', 
    allowClear: true 
}); 

$('#transfer_posting_pap_facility_feature_ids').on("select2:selecting", function(e) { 
    var selectedFeature = e.params.args.data.text 
    console.log(selectedFeature); 
    if (selectedFeature === 'No Required Features') { 
    $('#transfer_posting_pap_facility_feature_ids').val(null).trigger("change"); 

    $('#transfer_posting_pap_facility_feature_ids').select2({ 
     placeholder: 'No Required Features' 
    }); 

    } 
}); 

がjsのフィドルへのリンクです:http://jsfiddle.net/mxqc76e8/3/

どのように私は、このシナリオが機能するために自分のコードを更新する必要がありますか?

+1

申し訳ありませんが、あなたが実際に欲しいものを理解することができないのに役立ちます願っています。 –

+0

@ankitverma:ユーザーが「必要な機能はありません」を選択すると、自分のクリーンアップを選択したいので、空になります。 –

答えて

1

最新のコードを確認してください。 Updated Fiddle
はコードで、いくつかの条件を追加しましたビット
を変更し、それはあなた

$('#transfer_posting_pap_facility_feature_ids').select2({ 
    placeholder: 'Select Feature(s)', 
    allowClear: true 
}); 

$('#transfer_posting_pap_facility_feature_ids').on("select2:selecting", function(e) { 
    if ($("#transfer_posting_pap_facility_feature_ids option[value='No Required Features']:selected").length > 0){ 
    alert('No Required Feture is selected'); 
    exit; 
    } 
    var selectedFeature = e.params.args.data.text 
if (selectedFeature =='No Required Features') {  
    $('#transfer_posting_pap_facility_feature_ids').select2({ 
     placeholder: 'No Required Features' 
    }); 
    $('li.select2-selection__choice').remove(); 
    $('#transfer_posting_pap_facility_feature_ids').val(''); 
    } 
}); 
+0

それでも動作しません。私は 'プール'を選択していますが、次に '必要な機能がありません'を選択し、まだ値を選択しています。 'No Required Features'を選択した後は空白にしてください –

+1

この更新済みのフィドルを確認できますか?http://jsfiddle.net/akit/mxqc76e8/5/ –

+0

'No Required Features'を使用すると、ブラウザコンソールにエラーが表示されます: ReferenceError:exitが定義されていません –

関連する問題