0

有没有办法在不使用任何 js 文件的情况下选择所有复选框。因为每当我使用 jquery 1.8.3 或 jquery 1.7.2 时。我的其他 js 文件没有运行,或者可能是由于它们没有运行的一些问题。所以,我在 gridview 中有复选框,我想执行检查所有选项。

 <asp:GridView Width="96%" HeaderStyle-HorizontalAlign="left" ID="gridimages" Font-Size="13px" HeaderStyle-Font-Size="15px" runat="server"  OnSorting="gridimages_Sorting" AutoGenerateColumns="false" AllowSorting="true" CssClass="grid gridimages" HeaderStyle-BorderColor="#D0D0D0" AlternatingRowStyle-BorderColor="#D0D0D0" RowStyle-BorderColor="#D0D0D0" OnRowDataBound="gridimages_RowDataBound" AllowPaging="true" PageSize="50" PagerSettings-Mode="NumericFirstLast" OnPageIndexChanging="gridimages_PageIndexChanging" CellPadding="3" BorderColor="#D0D0D0" BorderStyle="Groove" BorderWidth="1px" OnSelectedIndexChanged="gridimages_SelectedIndexChanged" GridLines="both">
        <AlternatingRowStyle BackColor="White" ForeColor="#284775"/>
     <%--   <RowStyle HorizontalAlign="Center" />--%>
        <Columns>

            <asp:TemplateField HeaderStyle-Width="20px" HeaderStyle-Font-Size="14px" HeaderStyle-ForeColor="Black">
          <HeaderTemplate>
            <asp:CheckBox ID="chkSelectAll" class="checkAll" runat="server" Text="" onclick="SelectAllCheckboxes(this);"  />
        </HeaderTemplate>
                <ItemTemplate>      <div style="text-align: left;">
                   <asp:HiddenField ID="hdn_id" runat="server" Value='<%#Eval("Id") %>' />

                    <asp:CheckBox ID="CheckBoxImage" CssClass="CheckBoxImage1"  onClick="CheckBoxImage();" runat="server" /></div>
                </ItemTemplate>
            </asp:TemplateField>

javascript代码:

           function SelectAllCheckboxes(chk) {
        var gvcheck = document.getElementById('<%= gridimages.ClientID %>');
        var i;
        //Condition to check header checkbox selected or not if that is true checked all checkboxes
        if (chk.checked) {
            for (i = 0; i < gvcheck.rows.length; i++) {
                var inputs = gvcheck.rows[i].getElementsByTagName('input');
                inputs[0].checked = true;
            }
        }
            //if condition fails uncheck all checkboxes in gridview
        else {
            for (i = 0; i < gvcheck.rows.length; i++) {
                var inputs = gvcheck.rows[i].getElementsByTagName('input');
                inputs[0].checked = false;
            }
        }
    }

查看javascript代码。我在 var 输入中遇到问题。我想要 var 输入中 CheckBoxImage 的 id 但不能这样做。我必须在 var 输入行中更改什么才能获取 checkboximae 的 id。请帮忙。

4

2 回答 2

0

使用纯 JavaScript。

HTML

<input type="checkbox" id="checkall" /><br />
<input type="checkbox" class="check" />
<input type="checkbox" class="check" />
<input type="checkbox" class="check" />
<input type="checkbox" class="check" />

Javascript

var chkAll = document.getElementById("checkall");
chkAll.addEventListener('click', function(e) {
    setCheck(this.checked);
});

function setCheck(value) {
    var items = document.getElementsByTagName("input");
    var itemLen = items.length;
    for (i = 0; i < itemLen; i++) {
        if (items[i].getAttribute("class") == "check") {
            items[i].checked = value;
        }
    }
}

演示代码:jsfiddle

于 2013-10-15T09:46:40.843 回答
0

只是不要用 jquery 来做。使用与您的任何文件都不冲突的纯 javascript。

检查此答案以使用普通js 访问元素按类型在javascript上按类型选择元素

在遍历这些元素时,您可以为每个元素使用属性 .checked=true。

于 2013-10-15T09:30:01.010 回答