通过单击复选框选中列表中的所有复选框
本文关键字:复选框 列表 单击 | 更新日期: 2023-09-27 18:27:05
在我的网页上,我有一个CheckBoxList和一个复选框。当我点击复选框时,复选框列表中的所有复选框都应该被选中。我的CheckBoxList必须在Bodycontent占位符下,因为网页的布局就是这样的,我把脚本放在了同一个占位符中。
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<script type="text/javascript">
function select(ch) {
var allcheckboxes = document.getElementById('<%=CheckBoxList1.ClientID %>').getElementsByTagName("input");
for (i = 0; i < allcheckboxes.length; i++)
allcheckboxes[i].checked = ch.checked;
}
</script>
<asp:CheckBoxList ID="CheckBoxList1" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Flow">
<asp:ListItem>Item A</asp:ListItem>
<asp:ListItem>Item B</asp:ListItem>
<asp:ListItem>Item C</asp:ListItem>
</asp:CheckBoxList>
<asp:CheckBox ID="allCheck" onclick="select(this)" runat="server" Text="Select all" />
<br />
</asp:Content>
以上内容没有任何作用。点击复选框时,不会发生任何事情!我在这个小问题上纠缠了很长时间,无法做到这一点。有什么建议吗?
将函数的名称更改为其他名称;它将工作
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<script type="text/javascript">
function select1(ch) {
var allcheckboxes = document.getElementById('<%=CheckBoxList1.ClientID %>').getElementsByTagName("input");
for (i = 0; i < allcheckboxes.length; i++)
allcheckboxes[i].checked = ch.checked;
}
</script>
<asp:CheckBoxList ID="CheckBoxList1" runat="server"
RepeatDirection="Horizontal" RepeatLayout="Flow">
<asp:ListItem>Item A</asp:ListItem>
<asp:ListItem>Item B</asp:ListItem>
<asp:ListItem>Item C</asp:ListItem>
</asp:CheckBoxList>
<asp:CheckBox ID="allCheck" onclick="select1(this)" runat="server" Text="Select all" />
<br />
</asp:Content>
这样尝试。。
function UnCheckAll(isCheck) {
var theForm = document.forms['yourFormName'];
if (!theForm) {
theForm = document.form1;
}
var length = theForm.elements.length;
for (var i = 0; i < length; i++) {
if (theForm.elements[i].type == "checkbox") {
if (theForm.elements[i].id != "allCheck") {
if (theForm.elements[i].disabled == false) {
theForm.elements[i].checked = isCheck.checked;
}
}
}
}
}