小编典典

选中所有其他复选框

jsp

我有一个表单和一组复选框。(这些复选框是动态创建的,但对于这个问题,我认为这并不重要)。生成它们的代码如下所示(表单的一部分):

<div id="ScrollCB">
    <input type="checkbox" name="ALL" value="checked" checked="checked">
    All (if nothing selected, this is default) <br>
    <c:forEach items="${serviceList}" var="service">
       <input type="checkbox" name="${service}" value="checked"> ${service} <br>
    </c:forEach>
</div>

我要做的是控制,是否选中了标记为“所有”的复选框,如果是,请选中所有其他复选框(如果未选中,请全部取消选中)。

我试图用这样的javascript来做到这一点(找到了一些教程),但是它不起作用(而javascript中的Im真正的新手,也就不足为奇了):

<script type="text/javascript">
  $ui.find('#ScrollCB').find('label[for="ALL"]').prev().bind('click',function(){
  $(this).parent().siblings().find(':checkbox').attr('checked',this.checked).attr('disabled',this.checked);
}); });
</script>

您能告诉我一些简单的方法如何使其工作吗?非常感谢!


阅读 271

收藏
2020-06-08

共1个答案

小编典典

演示

Updated_demo

HTML:

<label><input type="checkbox" name="sample" class="selectall"/> Select all</label>

<div id="checkboxlist">

    <label><input type="checkbox" name="sample[]"/>checkbox1</label><br />
    <label><input type="checkbox" name="sample[]"/>checkbox2</label><br />
    <label><input type="checkbox" name="sample[]"/>checkbox3</label><br />
    <label><input type="checkbox" name="sample[]"/>checkbox4</label><br />

</div>

JS:

$('.selectall').click(function() {
    if ($(this).is(':checked')) {
        $('div input').attr('checked', true);
    } else {
        $('div input').attr('checked', false);
    }
});
2020-06-08