javascript - 根据其他复选框的选择来限制复选框的选择

标签 javascript jquery

我有 4 个复选框(全部、周五、周六和周日),并且希望将用户可以选择的选择限制为:全部且无其他选择或周五到周日的任意组合,但不允许全部选择已选择。

例 1. 全部检查完毕 周五、周六、周日不允许检查

例 2. 周五和周日检查 全部不允许检查

以下 JS 代码可以正常工作,但我想知道是否有更好/更快/更优雅的方法来编写以下 JS。

Select Days:<br>

<label><input type="checkbox" name="consultantDays" value="All">All</label>

<br>

<label><input type="checkbox" name="consultantDays" value="Friday">Friday</label>

<br>

<label><input type="checkbox" name="consultantDays" value="Saturday">Saturday</label>

<br>

<label><input type="checkbox" name="consultantDays" value="Sunday">Sunday</label>

JS

<script>
    /* Only allow All or (Friday, Saturday, Sunday) */
    $("input[name='consultantDays'").on('change', function() {
        if ($(this).val() == 'All') {
            $("input[name='consultantDays'").not(this).prop('checked', false);
        } else {
            $("input[value='All'").not(this).prop('checked', false);
        }
    });
</script>

最佳答案

您的代码运行良好,但您错过了属性选择器上的右括号。

$("input[name='consultantDays']").not(this).prop('checked', false);
                              ^
} else {
$("input[value='All']").not(this).prop('checked', false);
                    ^

/* Only allow All or (Friday, Saturday, Sunday) */
$("input[name='consultantDays'").on('change', function() {
  if ($(this).val() == 'All') {
    $("input[name='consultantDays']").not(this).prop('checked', false);
  } else {
    $("input[value='All']").not(this).prop('checked', false);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Select Days:<br>

<label><input type="checkbox" name="consultantDays" value="All">All</label>

<br>

<label><input type="checkbox" name="consultantDays" value="Friday">Friday</label>

<br>

<label><input type="checkbox" name="consultantDays" value="Saturday">Saturday</label>

<br>

<label><input type="checkbox" name="consultantDays" value="Sunday">Sunday</label>

关于javascript - 根据其他复选框的选择来限制复选框的选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45909094/

相关文章:

javascript - jQuery datepicker 导致页面溢出

javascript - Jquery 验证不适用于日期选择器的输入

javascript - Node 中的 const,在不同的 block 中

javascript - jquery 用值关联数组替换选择选项

javascript - jquery 替代更改或 keyup

javascript - 在表单提交上禁用提交按钮

当涉及两个输入时,jQuery 模糊不断触发

javascript - TypeError : d3. scaleLinear 不是函数

javascript - NestJs 异步 httpService 调用

javascript - C3 js 分组条形图排序和修复 y 轴问题