c# - 如果选择了 CheckAll 则全选,如果没有则使用 jQuery 从 Gridview 中取消全选

标签 c# jquery gridview checkbox hiddenfield

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

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

jQuery

    $(document).ready(function () {
        $("input:checkbox").change(function () {
            $("#DivDelete").show('slow');
        });
    });

如您所见,我正在使用隐藏 字段将那些以逗号 (,) 分隔的 ID 发送到服务器端,基本上可以正常工作,但是,我不会经历一种情况,如果我检查标题行然后应选中所有复选框,如果我取消选中它,则应取消选中所有复选框,反之亦然,我在单击此按钮时调用此 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 和独立检查工具!

附上我的网格的屏幕截图

enter image description here

感谢任何帮助! 谢谢

最佳答案

我不认为

table.rows[i].cells[0]

将在 js 对象上工作。您需要做的是为每个复选框添加一个更改处理程序,使用要删除的所选 ID 更新一个数组(您可以通过在当前复选框上使用 .parent().find(yourIdDiv) 找到该 ID。检查的长度当用户单击 DeleteAll 并相应地继续时的数组。

关于c# - 如果选择了 CheckAll 则全选,如果没有则使用 jQuery 从 Gridview 中取消全选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16150485/

相关文章:

jQuery这个表单输入

c# - 如何以编程方式在 gridview 中添加更复杂的列

c# - 系统.Delegate System.Reflection.MethodInfo.CreateDelegate(System.Type)

c# - Fluent nHibernate映射问题

c# - Azure 应用服务跟踪

jQuery 无法使 .click 处理此代码

c# - Scala 相当于 C# 中的 `??` 运算符

jquery - 如何修复 Bootstrap 搜索/过滤栏中的动态滚动?

android - 可见性设置为消失时如何重新排列 gridview 子项?

java - Android:GridView倾斜显示图像