首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否通过循环选中复选框?

是否通过循环选中复选框?
EN

Stack Overflow用户
提问于 2013-05-24 15:46:07
回答 5查看 1.8K关注 0票数 2

如何通过循环选择复选框?

例如,我有4个复选框,如果选中了第3个复选框,则还选中了第1和2个复选框;如果选中了第4个复选框,则也选中了第1、2和3个复选框。

在jquery、java script或任何其他语言中有任何关于这方面的提示吗?

感谢您的帮助.

HTML代码

代码语言:javascript
复制
<form>
<div>
    <input type="checkbox" name="option-1" id="option-1"> <label for="option-1">Option 1</label>
</div>
<div>
    <input type="checkbox" name="option-2" id="option-2"> <label for="option-2">Option 2</label>
</div>
<div>
    <input type="checkbox" name="option-3" id="option-3"> <label for="option-3">Option 3</label>
</div>
<div>
    <input type="checkbox" name="option-4" id="option-4"> <label for="option-4">Option 4</label>
</div>
<div>
    <input type="checkbox" name="option-5" id="option-5"> <label for="option-5">Option 5</label>
</div>

<div>
    <input type="submit">
</div>

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-24 15:48:15

尝尝这个

代码语言:javascript
复制
$("input:checkbox").on("click",function(){
    if(this.checked)
    $(this).parent().prevAll().each(function(){
        $("input:checkbox",this).attr("checked",true);
    });
});

要取消选中所有选中的项目,请添加以下代码

代码语言:javascript
复制
if(this.checked==false)
    $(this).parent().each(function(){
         $("input").attr("checked",false);
    });
票数 2
EN

Stack Overflow用户

发布于 2013-05-24 15:56:38

不知道另一个答案是怎么变得这么受欢迎的。它远非完美,只有在通过单击更改复选框时才会触发。

这里有一个更简单,更具语义的解决方案,甚至不需要一个each()循环,它将工作,而不是checkbox必须是clicked (即通过按键改变它的值):

代码语言:javascript
复制
$('form').on('change', 'input[type=checkbox]:checked', function(){
    $(this).parent().prevAll('div').find('input[type=checkbox]').prop("checked",true);
});

on('change')方法仅在选中复选框时触发。然后,它会找到所有以前的分隔符,并通过使用jQuery的prop()方法将其中的任何复选框设置为选中。

或者,如果您想同时选中和取消选中:

代码语言:javascript
复制
$('form').on('change', 'input[type=checkbox]', function(){
    $(this).parent().prevAll('div').find('input[type=checkbox]').prop("checked",this.checked);
});

票数 1
EN

Stack Overflow用户

发布于 2013-05-24 15:50:39

你可以用javascript这样做:

代码语言:javascript
复制
if (document.getElementById('id4').checked)

{
document.getElementById('id3').checked = true;
document.getElementById('id2').checked = true;
document.getElementById('id1').checked = true;

}

诸如此类……

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16730071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档