Jquery获取表gridview中所有已检查行的值

gen*_*ion 5 javascript asp.net jquery gridview

我有一张如下表

<table id="mytable">
<tr><th>checked</th><th>id</th><th>text</th></tr>
<tr><td><input id="cb1" type="checkbox" name="checker1"/></td><td>123</td><td>abc</td></tr>
<tr><td><input id="cb1" type="checkbox" name="checker1"/></td><td>456</td><td>def</td></tr>
<tr><td><input id="cb1" type="checkbox" name="checker1"/></td><td>789</td><td>ghi</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我想检索(使用jquery)表中所有已检查ID的javascript数组.

到目前为止,我有这对jqcc按钮的点击带给我一个警告框,每个检查以下项目jQuery代码,这样反而警觉,我需要找回第二个TD的值,并将其添加到一个数组,

$(document).ready(function() {
    var tableControl= document.getElementById('mytable');
    $('#jqcc').click(function() {
        $('input:checkbox:checked', tableControl).each(function() {
            alert('checked');
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

Nic*_*tti 8

你应该做

$(document).ready(function() {
    var tableControl= document.getElementById('mytable');
   var arrayOfValues = [];
    $('#jqcc').click(function() {
        $('input:checkbox:checked', tableControl).each(function() {
            arrayOfValues.push($(this).closest('tr').find('td:last').text());
        }).get();
    });
});
Run Code Online (Sandbox Code Playgroud)

arrayOfValues 将文本保存在最后一个td中.

编辑当然你也可以使用地图

$(document).ready(function() {
    var tableControl= document.getElementById('mytable');
   var arrayOfValues = [];
    $('#jqcc').click(function() {
          arrayOfValues =  $('input:checkbox:checked', tableControl).map(function() {
            return $(this).closest('tr').find('td:last').text();
        });
    });
});
Run Code Online (Sandbox Code Playgroud)


Mat*_*ias 5

我想检索(使用jquery)表中所有已检查ID的javascript数组.

尝试:

var ids = $("#mytable tr:has(input:checked)").map(function() {
   var $tr = $(this);
   var id = $tr.find("td:last").text();
   return id;
}).toArray();

alert(ids.join(", "));
Run Code Online (Sandbox Code Playgroud)