javascript - 多选,当选择某一选项时,取消选择其他选项

标签 javascript jquery multipleselection

我的 HTML 中有一个多选列表。如果选择值 296,则必须取消选择所有其他选项。

这是我正在使用的代码,因此当我想选择多个选项时不必使用 CTRL:

$("#select").mousedown(function(e) {
  e.preventDefault();

  var select = this;
  var scroll = select.scrollTop;

  if (select.value == 296) {
    //unselect all the other options
  }

  e.target.selected = !e.target.selected;

  setTimeout(function() {
    select.scrollTop = scroll;
  }, 0);

  $(select).focus();
}).mousemove(function(e) {
  e.preventDefault()
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select" name="adrestype_id" class="form-control" required="required" multiple="multiple">                
    <option value="296">Primairadres </option>                
    <option value="297">Bezoekadres </option>                
    <option value="298">Factuuradres </option>                
    <option value="299">Postadres </option>
</select>

我似乎不知道如何在选择值 296 时取消选择所有其他选项

最佳答案

下面的内容似乎实现了您上面所说的。如果已经选择了 296,它也会阻止您选择选项。

const unselect = '296'

$('#select').change(function() {
  const $el = $(this)
  console.log($el.val())
  if ($el.val().indexOf(unselect) !== -1) {
    $el.children('option').each(function() {
      $opt = $(this)
      if ($opt.val() !== unselect) {
        $opt.prop('selected', false)
      }
    });
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="select" name="adrestype_id" class="form-control" required="required" multiple="multiple">                
            <option value="296">Primairadres </option>                
            <option value="297">Bezoekadres </option>                
            <option value="298">Factuuradres </option>                
            <option value="299">Postadres </option>
        </select>

关于javascript - 多选,当选择某一选项时,取消选择其他选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42925329/

相关文章:

javascript - 将 Spritz 植入到我的 html 页面中

javascript - 无法枚举 getter/setter 属性

html - 如何突出显示一列中的所有文本?

java - SWT MouseDown 事件对于自定义选择控件来说过于主导

swift - 我可以让某些 CollectionView 部分为单选,而其他部分为多选吗?

javascript - 将 CSV 转换为 JSON

javascript - Node js中的Redlock错误

php - 元素列表错误后缺少 ]

javascript - 尝试使用 Jquery UI 同时运行两个动画

带有 ChangeListener 的 JavaFX TableView 用于多选