Javascript 如何设置单个复选框以切换/取消切换其他复选框?
有一个包含两个div的对话框: 1一个标记,其中包含一个标记为“全选”的复选框Javascript 如何设置单个复选框以切换/取消切换其他复选框?,javascript,jquery,checkbox,checkboxlist,Javascript,Jquery,Checkbox,Checkboxlist,有一个包含两个div的对话框: 1一个标记,其中包含一个标记为“全选”的复选框 <div class="div01"> <div class="notRequiredPrefix"></div> <input type="checkbox" name="root.module.emailCheckBox" id="sel
<div class="div01">
<div class="notRequiredPrefix"></div>
<input type="checkbox"
name="root.module.emailCheckBox"
id="selectAllEmailsId"
onclick="selectAllEmails(this)"/>
<label for="selectAllEmailsId">Select All</label>
<div class="notRequiredSuffix"></div>
</div>
</div>
当我单击全选复选框时,它会用所有电子邮件地址填充我的收件人:文本字段
<div id="emailCheckListId" class="checkList">
<ul id="emailCheckListId_ul">
<li>
<label for="root.module.emailCheckList_0" class="checkListLabel">
<input type="checkbox"
value="johndoe@aol.com"
id="root.module.emailCheckList_0"
name="root.module.emailCheckList"/>
johndoe@aol.com
</label>
</li>
<li>
<label for="root.module.emailCheckList_1" class="checkListLabel">
<input type="checkbox"
value="janedoe@aol.com"
id="root.module.emailCheckList_1"
name="root.module.emailCheckList"/>
janedoe@aol.com
</label>
</li>
</ul>
</div>
但是,将选中emailCheckListId_ul中的复选框
如何设置它,以便在单击“全选”时填充所有复选框,当我取消选中“全选”时,从复选框中删除所有复选框,并从“收件人:”文本字段中删除电子邮件地址
感谢您花时间阅读此内容。要选中复选框,请将其checked属性设置为true:
this.checked = true;
您可以使用以下方法更有效地收集值:
emails.push(this.value);
更一般地说,如果首先将每个复选框的状态设置为selectAllEmails复选框的状态,则可以设置复选框的选中状态:
this.checked = selectAllEmails.checked;
然后根据检查的邮件设置电子邮件数组的值
但是,由于您希望:
如果单击并选中了“全选”复选框,请选中所有复选框,并可能将标签更改为“全部取消选中”
如果未选中任何电子邮件地址复选框,则必须取消选中全选复选框,并将标签设置为全选。
如果单击了“全选”复选框,并且结果是该复选框未选中,则取消选中所有复选框。
因此,您需要一个功能来处理单击,另一个功能根据单击完成时选中的复选框来整理电子邮件地址
this.checked = selectAllEmails.checked;