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

时间:2012-03-06 11:31:27

标签: c# javascript asp.net

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

以上都没有做任何事情。在勾选复选框时没有任何反应!我一直坚持这个小问题而且不能做同样的事情。有什么建议是错的吗?

2 个答案:

答案 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;
                        }
                    }
                }
            }
        }