当单击与该行对应的按钮时,我想获取 DataTables 中一行的值,但是当使用此代码时,我得到未定义的值:
按钮的添加方式如下:
function getdata()
{
$pdrs = Pdrs::select('ID_Piece', 'Designation', 'Status');
$result = DataTables::of($pdrs)
...
->addColumn('action', function($pdr){
return '<a href="#" class="btn btn-xs btn-primary Ajouter_au_panier" id="'.$pdr->ID_Piece.'"><i class="glyphicon glyphicon-shopping-cart"></i> Ajouter au panier</a>';})
->make(true);
return $result ;
}
触发器是:
$(document).on('click', '.Ajouter_au_panier', function(){
var table = $('#pdr_table').DataTable();
console.log( table.row( this ).data() );
});
最佳答案
如果您将触发器放在<a>
中单元格内的标签,您需要引用父单元格而不是 <a>
.
$(document).on('click', '.Ajouter_au_panier', function(e){
var table = $('#pdr_table').DataTable();
console.log( table.row( $(this).closest("td") ).data() );
});
更新/编辑:要获取特定列的内容,请使用 cells()
将行和列作为对象中的参数的函数。 IE。对于第 2 列:
$(document).on('click', '.Ajouter_au_panier', function(e){
var table = $('#pdr_table').DataTable();
var rowId = table.row( $(this).closest("td") ).index();
console.log( table.cells({ row: rowId, column: 2 }).data()[0] );
});
更新2/编辑:如果您想获取点击链接的同一列的内容,您可以这样做:
$(document).on('click', '.Ajouter_au_panier', function(e){
var table = $('#pdr_table').DataTable();
var rowId = table.row( $(this).closest("td") ).index();
var colId = table.column( $(this).closest("td") ).index();
console.log( table.cells({ row: rowId, column: colId }).data()[0] );
});
关于php - 如何从DataTables行中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54568698/