通过单击复选框选中列表中的所有复选框

Checking all checkboxes in list by single checkbox click

本文关键字:复选框 列表 单击      更新时间:2023-09-26

在我的网页上,我有一个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;
                        }
                    }
                }
            }
        }