2017-12-18 4 views
0

Reponsiveモードで画像をクリックすると、コンソールの行データが返されます。しかし、通常のビューでは私は未定義のエラーを取得します。行データを取得する関数は、Datatablesの応答モードでのみ機能します。

  var table = $('.dataTable').DataTable({ 
       "responsive": true,         
       "columnDefs": [{ 
        "targets": 4, 
        "data": null, 
        "render": function (data, type, full, meta) { 
         if (type === 'display') { 
          data = "<a href='#' width='30px' class='editMe' data='" + full[0] + "'><img src='/images/edit.png' width='30px' /></a>"; 
         } 
         return data; 
        } 
       } , 

       { 
         "targets": 0, 
         "visible": false, 
         "searchable": false 
       }] 
      }); 


      $('.dataTable').on('click', '.editMe', function() { 

       console.log(table.row(this).data()); 

      }); 

答えて

0

代わりに以下のコードを使用します。

$('.dataTable').on('click', '.editMe', function() { 
    var $row = $(this).closest('tr'); 
    if($row.hasClass('child')){ $row = $row.prev(); } 
    console.log(table.row($row).data()); 
}); 

は、コードとデモのためthis exampleを参照してください。

+0

この場合、応答モードでは機能しません。私はconsole.logを使用します(table.row($(this).parents( 'tr'))));両方のモードで働いていました。 – Amin

+0

@Amin、ありがとう、私は答えを修正し、両方のモードで動作することを示す例を追加しました。 –

+0

ありがとう、今それは完全に動作します:) – Amin

関連する問題