作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 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/
我是一名优秀的程序员,十分优秀!