在datatable中获取选定行的第一列值

时间:2015-08-31 09:19:35

标签: jquery datatable

$('.example tbody').on('click', 'tr', function (){
    var id = this.id;
    var index = $.inArray(id, selected);
    if (index === -1) 
    {
    selected.push(id);
    } else 
    {
    selected.splice(index, 1);
    }
    $(this).toggleClass('selected');
});
$('#btn').click(function (){
    var dataArr = [];
    var rowCount = table.rows('.selected').data().length;
    alert(rowCount);
});

以下是选择多行的代码。单击按钮我需要获取所选行的第一列值并存储在数组dataArr []中。请帮我解决这个问题。

2 个答案:

答案 0 :(得分:12)

试试这个:

<强> DEMO

$('#btn').click(function (){
    var dataArr = [];
    $.each($("#example tr.selected"),function(){ //get each tr which has selected class
        dataArr.push($(this).find('td').eq(0).text()); //find its first td and push the value
        //dataArr.push($(this).find('td:first').text()); You can use this too
    });
    console.log(dataArr);
});

<强>更新

您可以使用dataTables的一些原生函数,如下所示:

$('#btn').click(function (){
    var dataArr = [];
    var rows = $('tr.selected');
    var rowData = table.rows(rows).data();
    $.each($(rowData),function(key,value){
        dataArr.push(value["name"]); //"name" being the value of your first column.
    });
    console.log(dataArr);
});

<强> UPDATED DEMO

答案 1 :(得分:1)

Guruprasad代码(完美),带有方便的小更新。

var table= $('#YourTableName').DataTable();
$('#button').click(function () {
           var arr = [];
           $.each(table.rows('.selected').data(), function() {
               arr.push(this["ColomnName"]);
           });
});