点击首个复选框实现其余复选框自动选中的技术实现求助
解决方案
先明确你现有代码的问题:
- 你用的
$("#1")选择器无效,因为生成的复选框没有设置id="1",只有value="@i"属性,所以找不到目标元素。 - 复选框上的
onclick="checkAll"属于无效配置,你没定义对应的checkAll函数,还可能干扰后续事件绑定。
修正后的实现步骤:
- 调整复选框生成代码(保留循环逻辑,移除无效的
onclick属性):
@for (var i = 1; i <= 10; i++) { <input name="AreChecked" class="chkTask" type="checkbox" value="@i" /> @i }
- 编写jQuery事件绑定代码:
通过属性选择器定位到value为"1"的复选框,绑定点击事件同步其余复选框的选中状态:
// 等待DOM加载完成后执行 $(document).ready(function() { // 选中value为1的目标复选框 $('input.chkTask[value="1"]').on('click', function() { // 将所有同class的其他复选框,选中状态与当前复选框同步 $('input.chkTask').not(this).prop('checked', this.checked); }); });
适配实际字符场景:
如果实际业务中复选框的value是字符(比如"全选"、"A"等),只需修改选择器中的value值即可,示例:
$('input.chkTask[value="全选"]').on('click', function() { $('input.chkTask').not(this).prop('checked', this.checked); });
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

