C# 如果选中了CheckAll,则选择all;如果未选中,则使用jQuery从Gridview中取消选择all

C# 如果选中了CheckAll,则选择all;如果未选中,则使用jQuery从Gridview中取消选择all,c#,jquery,gridview,checkbox,hiddenfield,C#,Jquery,Gridview,Checkbox,Hiddenfield,我只是坚持使用复选框进行操作,我有一个Gridview,它的头和行中都有第一列作为复选框,复选框与数据库中的iID值绑定。我想删除行,有时是“全部”(按标题复选框),有时是“选定”(按复选框)。现在我正在使用以下代码: JavaScript function checkcheckboxPrint() { var checkfag = false; var id = 0; var table = document.getEle

我只是坚持使用复选框进行操作,我有一个Gridview,它的头和行中都有第一列作为复选框,复选框与数据库中的iID值绑定。我想删除行,有时是“全部”(按标题复选框),有时是“选定”(按复选框)。现在我正在使用以下代码:

JavaScript

function checkcheckboxPrint() {
            var checkfag = false;
            var id = 0;
            var table = document.getElementById('<%=grdRefPhysician.ClientID%>');

            if (table != null) {
                for (i = 1; i < table.rows.length; i++) {
                    var chkRead = table.rows[i].cells[0].getElementsByTagName("input")[0];
                    var DivID = table.rows[i].cells[0].getElementsByTagName('div')[0];

                    if (chkRead != null) {
                        if (chkRead.type == 'checkbox') {
                            if (chkRead.checked) {
                                id = DivID.innerHTML + "," + id;
                                checkfag = true;
                                alert(id);
                            }
                        }
                    }
                }
                if (checkfag == true) {
                    $("#<%=hdnIDs.ClientID %>").val(id);
                    return true;
                }
                else {
                    alert("Please select record to delete.");
                    return false;
                }
            }
        }
正如您所看到的,我正在使用隐藏字段将那些逗号(,)分隔的ID获取到服务器端,基本上它是工作的,但是,我不会经历这样一种情况:如果我选中标题行,那么所有的复选框都应该被选中,如果我取消选中,那么所有的复选框都应该像viceversa一样被取消选中,我在点击这个按钮时调用这个js方法

HTML

 <div id="DivDelete" style="text-align:left;display:none;">
        <asp:Button ID="btnDeleteAll" OnClientClick="return checkcheckboxPrint();" runat="server" Text="Delete" />
 </div>

我只是想使用jQuery将逗号分隔的ID存储到隐藏字段中,使用checkAll和独立检查工具

附加的我的网格屏幕截图

感谢您的帮助! 谢谢

我不认为

table.rows[i].cells[0]

正在处理js对象。您需要做的是在每个复选框中添加更改处理程序,使用要删除的选定id更新数组(您可以在当前复选框中使用.parent().find(yourIdDiv)来查找id。当用户单击DeleteAll时,请检查数组的长度,然后按顺序进行操作。

感谢Elio的响应,但问题已在@my side:)得到解决
table.rows[i].cells[0]