首页 > 解决方案 > 如果选中复选框“A”和“C”,则选中复选框“B”

问题描述

嗨,我有一个问题,不知道是否有一个很好的解决方案。

<input type="checkbox" name="a" value="a">a<br>
<input type="checkbox" name="b" value="b">b<br>
<input type="checkbox" name="c" value="c">c<br>
<input type="checkbox" name="d" value="c">d<br>
<input type="checkbox" name="e" value="c">e<br>

我喜欢让它更像是一个“范围”,所以如果用户点击“a”然后“d”之间的所有内容都将被选中。

我可以对所有场景进行 if 语句,但也许有更好的方法来做到这一点?

谢谢

标签: javascripthtmlarrayscheckbox

解决方案


这对于 jQuery 来说非常简单 -prevAll像这样使用:

$('input[type="checkbox"]').on("change", function() {
  if ($(this).is(":checked")) this.prevAll('input[type="checkbox"]').prop("checked", true);
});

推荐阅读