如何使用jQuery获取选定行的列

时间:2018-07-17 00:41:21

标签: javascript jquery

我尝试使用下面的代码,并获得列名的警报,但没有获得多个选定行的所有列。这是示例代码。

$('body').on('click', 'td', function() {
    var selectedRows= $(this).toggleClass('selected');        
    var holdNames = $(this).closest("tr").find("td:eq(2)").text();
    $("#holdNames").val(holdNames);

    var holdsArr = [];
    for ( var index=0; index<selectedRows.length;index++) {
        holdsArr.push(holdNames[index]);
    };
    alert(holdsArr);
 });

1 个答案:

答案 0 :(得分:1)

下面的代码将警告每个选定行中的第三个<td> 例如Text1,Text2,Text3

$('body').on('click', 'tr', function() {
    $(this).toggleClass('selected');
    var holdNames = $(this).children().eq(2).text();
    $("#holdNames").val(holdNames);

    var selectedRows= $('tr.selected');
    var holdsArr = [];
    for ( var index=0; index<selectedRows.length;index++) {
        var name = selectedRows.eq(index).children().eq(2).text();
        holdsArr.push(name);
    };
    alert(holdsArr);
});

一种更好的方法是

  var holdsArr = [];
$(document).on('click','tr',function(){
    var $tr = $(this);
    $tr.toggleClass('selected');
    updateHoldsArr();
    alert(holdsArr);
});

function updateHoldsArr(){
    var $trs = $('tr.selected'),
        arr = [];
    $trs.each(function(){
        arr.push($(this).children().eq(2));
    });
    holdsArr = arr;
}