【问题标题】:How to get values from DataTables row?如何从 DataTables 行中获取值?
【发布时间】:2019-02-07 07:59:27
【问题描述】:

当单击与该行相对应的按钮时,我想在 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() );  
});

【问题讨论】:

  • 什么是this?为了帮助您,我们需要查看更多代码。
  • 这是因为手动添加了按钮吗?

标签: php jquery ajax datatables row


【解决方案1】:

如果将触发器放在单元格内的&lt;a&gt;标签中,则需要引用父单元格而不是&lt;a&gt;

$(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] );  
});

UPDATE 2 / EDITED:如果您想获取点击链接的同一列的内容,您可以这样做:

$(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] );  
});

【讨论】:

  • 是的,谢谢你,这是有效的,我如何过滤它以仅获取特定列的值?
  • 我在做console.log( table.row( $(this).closest("td") ).data()[2] );时变得不确定
  • 你有3列和第3列的数据吗?顺便提一句。最好在回答原始问题后批准答案,而不是在提出更多问题后批准。
  • 是的,我只做data(){ID_Piece: "2", Designation: "Ecran", Status: "Indisponible", checkbox: "&lt;input type="checkbox" name="pdr_checkbox[]" class="pdr_checkbox" value="2" /&gt;", action: "&lt;a href="#" class="btn btn-xs btn-primary Ajouter_…yphicon-shopping-cart"&gt;&lt;/i&gt; Ajouter au panier&lt;/a&gt;"}时的结果是这样的
  • 未定义是结果。
猜你喜欢
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 2019-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-23
  • 1970-01-01
相关资源
最近更新 更多