如果使用select2选择了特定的值,则不允许选择其他选项

Don't allow to select other option if selected specific value with select2

本文关键字:选择 不允许 选项 其他 select2 如果      更新时间:2023-09-26

正如你所看到的,我有一个带有select2(多重)选择功能的选择框,带有一些选项,如

<option value="All"> All </option>
<option value="test@email.com"> User 1</option>
<option value="test2@email.com"> User 2 </option>
<option value="Test3@rmail.com"> User 3 </option>

是否有可能,如果我从选择框中选择选项All,那么选择框不允许我从给定的选项中选择其他选项,除非我删除它。

我想限制用户选择选择All或从选项中选择多个用户。

我准备使用jQuery或javascript来实现这一点

工作小提琴

All选项出现时,可以将select的值设置为All:

$("#my-select").select2();
$("#my-select").on('change', function(){
    var selected = $(this).val();
    if(selected != null)
    {
      if(selected.indexOf('All')>=0){
          $(this).val('All').select2();
      }
    }
})

希望对你有帮助。

$("#my-select").select2();
$("#my-select").on('change', function(){
  var selected = $(this).val();
  if(selected != null)
  {
    if(selected.indexOf('All')>=0){
      $(this).val('All').select2();
    }
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.2/select2.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.2/select2.css" rel="stylesheet"/>
<select multiple id="my-select" style="width:300px">
  <option value="All"> All </option>
  <option value="test@email.com"> User 1</option>
  <option value="test2@email.com"> User 2 </option>
  <option value="Test3@rmail.com"> User 3 </option>
</select>