簡體   English   中英

選擇指定值時清除select2的倍數

[英]Clear select2 multiple when specified value is selected

我嘗試在select2多重選擇中實現以下方案。

  1. 用戶選擇一些選項
  2. 用戶在選擇中選擇“不需要程序”
  3. 選擇清除所有選定的值
  4. Select有一個占位符,其內容如下:“無必需功能”

這是我的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/

如何更新我的代碼以使此方案起作用?

能否請您檢查更新的小提琴代碼。 更新小提琴
增加了一些條件,代碼進行了一些更改
希望對您有幫助

$('#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('');
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM