实现select2下拉框有个全部选项,当选择全部选项的时候清空其他选项,当已选中全部,再去选择其他选项的时候清除全部
  //前提:select增加option <option value="-1">全部</option>
  var selectId="#selectId";
  $(selectId).select2({
      allowClear: true,
      placeholder: '请选择',
      multiple: true,
      language: "zh-CN",
    }).on("select2:select", function (e) {
      if (e.params.data.id == -1) { //新增全部
        $(selectId).select2("val", [-1]); //清空其他选项
      }else{ //新增不是全部
        var selected = $(selectId).select2().val(); //获取select2选中的值
        if($.inArray("-1", selected) >= 0){ //判断已选中是否有全部选项,有的话清除全部选项
          selected.splice(0,1); //清除第一个元素,也就是value为-1的选项
          $(selectId).select2("val",selected); //重新初始化select2
        }
      }
    })
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐