繁体   English   中英

如何使用jquery遍历gridview并检查是否选中了任何复选框

[英]how to loop through gridview using jquery and check if any checkbox is checked

我正在开发基于jQuery的应用程序。 我有一个asp.net gridview每行中都有复选框。 我想检查是否选中了任何复选框。 我正在遍历gridview行,并检查是否选中了以下任何复选框。

var ResultArrayFirst = [];
        $('#<%= gdvRegretletter.ClientID %> input[type="hidden"]').each(function () {
            if ($(this).closest('tr').find('input[type="checkbox"]').prop('checked', true))
            {
                ResultArrayFirst.push($(this).val());
            }

        });
        alert(ResultArrayFirst);

我上面的代码不起作用。 一旦执行了上述代码,所有复选框都将选中。 我不确定我在这里想念的是什么。 任何帮助,将不胜感激。 谢谢。

要检查是否已选中复选框,请使用以下命令:

if (checkbox.is(':checked')) {
   // Do your stuff
}

因此,像这样更改代码:

if ($(this).closest('tr').find('input[type="checkbox"]').is(':checked'))
{
   ResultArrayFirst.push($(this).val());
}

您可以使用:checked选择器

 $('#<%= gdvRegretletter.ClientID %> input[type="hidden"]').each(function () {
     if ($(this).closest('tr').find('input[type="checkbox"]').is(":checked"))
     {
         ResultArrayFirst.push($(this).val());
     }

  });

只需给复选框一个类作为示例chk然后使用.map()而不是每个循环,它将获取数组中的项目,请在下面的单行代码中找到以实现

var selected =  $(".chk:checked").map(function(i,el){return el.value;}).get();

以及如果您只想检查是否选中了任何复选框,您可以按照以下操作进行操作,它将返回bool

$(".chk").is(":checked")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM