如果选中了一个复选框,我想检查所有其他复选框。我的代码
<tr>
<td class="small"><asp:CheckBox ID="chkReportModuleName" runat="server" name="report"></asp:CheckBox></td>
<td class="particulrs"></td>
<td class="small"><asp:CheckBox ID="chkReportAdd" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportEdit" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportDelete" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportView" runat="server" name="reports"></asp:CheckBox></td>
<td class="small"><asp:CheckBox ID="chkReportPrint" runat="server" name="reports"></asp:CheckBox></td>
<td class="othr"><span><input type="checkbox" id="chkReportActivity1" name="reports" /></span></td>
</tr>
选中名为report的复选框。我想检查名称为reports的所有复选框。
有人可以帮我这个吗? 感谢
答案 0 :(得分:2)
行:
$('input[name="report"]').click(function(){
$('input[name="reports"]').prop("checked", this.checked);
});
点击“报告”复选框后,所有“报告”复选框都将设置为与“报告”相同的状态。如果您希望它只能单向工作,例如,如果取消选中“报告”复选框,则不应取消选中其他复选框,请执行以下操作:
$('input[name="report"]').click(function(){
if (this.checked)
$('input[name="reports"]').prop("checked", true);
});
上面应该放在document.ready处理程序和/或所有复选框后面出现的脚本块中。
如果您使用旧版本的jQuery,则需要使用.attr()
代替.prop()
。
简单演示(还展示了如何使用document.ready):http://jsfiddle.net/eHLcS/
答案 1 :(得分:2)
试试这个:
$('input[name="report"]').change(function() {
$('input[name="reports"]').attr("checked", $(this).is(":checked"));
});
答案 2 :(得分:1)
使用此:
$(function(){
// add multiple select / deselect functionality
$("#selectall").click(function () {
$('.case').attr('checked', this.checked);
});
});
其中#selectall
是您的“报告”复选框的ID,.case
是您希望在点击#selectall
时选择的所有chekbox的cssclass
对于较新版本的jquery,您也可以使用prop
函数代替attr
答案 3 :(得分:0)
在所有复选框的onclick事件(姓名=='报告')中附加以下功能
function CheckAllReportCheckboxes()
{
var elm = document.getElementsByTagName("input");
for (i = 0; i < elm.length; i++) {
if (elm[i].type == "checkbox" && elm[i].name == 'report') {
elm[i].checked = 'checked';
}
}
}
请记住,取消选中复选框将无效。