jquery every() 仅循环访问 ASP.NET gridview 一次

标签 jquery asp.net gridview

我正在尝试循环遍历 GridView ,如果用户没有填写已检查项目的数量,则会向用户发出警报。但它只适用于第一个复选框,并且不会返回 false,因为代码仍然在服务器端执行。

function GetCheckedRows() {
    var checkBox = $("#flexCheckBoxList")
    var textBox = $("#flexTextBox")
    $("#flexGridView tr").each(function () {
        if ($(checkBox).is(':checked')) {
            if (textBox.val().length === 0) {
                alert("You must specify the amount needed");
                return false;
            }
            else {
                return true;
            }
        }
    });
}

完成!想要显示完成的代码,当某些内容不正确时,该代码会循环并停止。我必须创建一个变量来停止循环执行。这不仅检查空值,还检查它是否是数字。

function GetCheckedRows() {
    var exitSubmit = false;
    $(".gridView tr").each(function (e) {
        var checkBox = $(this).find("input[type='checkbox']");
        var textBox = $(this).find("input[type='text']");
            if (checkBox.is(':checked')) {
                if (textBox.val().length === 0 || !$.isNumeric($(textBox).val())) {
                    exitSubmit = true;
                    return false;
            }
            else {
            return true;
            }
        }
    });
    if (exitSubmit) {
       alert("Please enter a valid amount");
       return false;
}

}

最佳答案

更改脚本,以便在使用 each() 查找的行上找到复选框和文本框...

function GetCheckedRows() {
    $("#flexGridView tr").each(function () {
        var $checkBox = $(this).find("input[type='checkbox']");
        var $textBox = $(this).find("input[type='text']");
        if ($checkBox.is(':checked')) {
            if ($textBox.val().length === 0) {
                alert("You must specify the amount needed");
                return false;
            }
            else {
                return true;
            }
        }
    });
}

如果复选框和文本框有类,那么在选择器中使用它们比在输入中使用它们更有意义(因为每行中可能还有其他复选框和文本框 - 我不知道)。

此外,您的问题建议您对多个复选框和多个文本框使用相同的 ID。 ID 必须是唯一的 - 您不能使用它们来选择多个元素,就像使用类一样。

关于jquery every() 仅循环访问 ASP.NET gridview 一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18640074/

相关文章:

javascript - 如何计算两个日期选择器之间的差异

asp.net - 如何在 ASP.NET MVC 中向 Partial View 传递参数?

asp.net - 谷歌文档 电子表格 asp.net

c# - ASP :Button not displaying correctly

asp.net - 向 ASP.NET Gridview 添加动态列

javascript - 即 : cursor jump to start in input

javascript - "' javascript 中的 toggleRow ' is not defined"。找不到我的函数或错误消息为 'defined' sais

ajax - 如何在 yii2 GridView 中启用 ajax 更新?

Jquery:删除具有 2 个类名的 div

c# - ModalPopUpExtender 内的 Gridview 导致 ModalPopUpExtender 关闭