$('.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 []中。请帮我解决这个问题。
答案 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"]);
});
});