为了账号安全,请及时绑定邮箱和手机立即绑定

如何在多选下拉列表中只允许选择某些值的一个选项?

如何在多选下拉列表中只允许选择某些值的一个选项?

慕神8447489 2022-06-16 16:43:57
我想用以下选项制作一个下拉菜单。我希望能够为选项 A、B 和 C 选择一个多选值,但如果选择了选项 D,则禁用多选。我怎样才能做到这一点?谢谢。<label>Choose an option:</label>  <select required multiple>    <option>Please select</option>    <option value="A">A</option>    <option value="B">B</option>    <option value="C">C</option>    <option value="D">C</option>  </select>
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

如果选择了“D”,则删除其他选定的选项,否则允许多选。


{

  document.addEventListener("mouseup", checkMultiple);


  function checkMultiple(evt) {

    if (!/option/i.test(evt.target.nodeName)) {

      return true;

    }

    const selector = evt.target.parentNode;

    const options = [...selector.querySelectorAll("option")];


    if (options.find(v => v.value === "D").selected) {

      options

        .filter(v => v.value !== "D")

        .forEach(v => v.selected = false);

    }


  }

}

<label>Choose an option:</label>

<select required multiple>

  <option>Please select</option>

  <option value="A">A</option>

  <option value="B">B</option>

  <option value="C">C</option>

  <option value="D">D</option>

</select>


查看完整回答
反对 回复 2022-06-16
  • 1 回答
  • 0 关注
  • 210 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号