在我的网页上,我有一个CheckBoxList和一个复选框。当我单击复选框时,应检查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>
以上都没有做任何事情。在勾选复选框时没有任何反应!我一直坚持这个小问题而且不能做同样的事情。有什么建议是错的吗?
答案 0 :(得分:2)
将您的功能名称更改为其他名称;它会起作用
<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>
答案 1 :(得分:0)
试试这个..
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;
}
}
}
}
}