javascript - 如果选择了值,则将多个选择视为单选

标签 javascript jquery

我有这个代码

$(document).on('change','.custom-select', function(){
    var list = [];
    $('option:selected', $(this)).each(function() {
        list.push($(this).val());
    });
    $(this).find('option').removeAttr("selected");
    console.log(list);
})

我想要实现的是,如果所选值是“公共(public)”,则应取消选择全部并仅选择公共(public)。只有“公共(public)”应被视为单个选择。其余选项可以是动态的。我做错了什么?

最佳答案

使用 prop('selected', false)

$(document).on('change','.custom-select', function(){
    if($('[value="Public"]', this).is(':selected')) {
      $('option:not([value="Public"]):selected', this).prop('selected', false)
    }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<select class="custom-select" multiple>
  <option value="Public">Public</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

关于javascript - 如果选择了值,则将多个选择视为单选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59711621/

相关文章:

javascript - 如何仅选择不带 `#` 的链接?

javascript - jQuery:检查复选框是否被选中

javascript - JavaScript 的功能列表

javascript - 如何使用 Math.ceil() 对我的值进行四舍五入?

javascript - 由于页面导航离开而取消 AJAX POST 请求

javascript - 如何通过javascript将CSRF token 添加到动态生成的表单中

javascript - jQuery:用于博客的具有核心 jQuery 或 jQuery UI 的纯 HTML/CSS?

javascript - 检查数组中的部分匹配

javascript - 如何测试一个字符串是否是另一个字符串的最后一个 “part”?

jquery - 虚构的jQuery持久方法