2015-11-23 2 views
0

У меня есть данные, использующие сервер Datatables. Я создал и заполнил таблицу, как показано ниже. Теперь нужно создать столбец с кнопкой, но мне нужно, чтобы иметь идентификатор строки .. вернулсяDatatables генерирует столбец и получает строку id на стороне сервера

Мои данные:

{"data":[{"id":"13","name":"gerrard","adress":"new york"}, .... } 

Я хочу что-то вроде, если я нажимаю на эту кнопку, он показал мне ид из строки .. Существует мой код:

<table id="example" class="display" cellspacing="0" width="100%"> 
     <thead> 
      <tr> 
       <th>name</th> 
       <th>adress</th> 
      </tr> 
     </thead> 
</table> 

$(document).ready(function() { 
    var oTable = $('#example').DataTable({ 
     "processing": true, 
     "serverSide": true, 
     "ajax": { 
      "url": "server-side-process", 
      }, 

     "columns": [ 
        { "data": "name" }, 
        { "data": "adress" }, 
       ] 
    }); 

}); 

Я нашел это example в документации, но я не могу получить идентификатор из возвращаемых данных .. можно это сделать, пожалуйста? спасибо ..

ответ

2

Вы должны использовать render свойство:

"render": function (data, type, full) { 
      return "<button type='button' class='btn btn-success' data-id=" + full[3] + ">PAY</button>"; 
    } 

Параметр full является полный источник данных для строки данных, так что вы можете получить доступ к нему по индексу. В вашем случае вы должны использовать full[0], так как он находится в первой позиции.

Здесь working example, который использует разные данные, но вы должны уметь видеть, как это работает.

+0

Добавить «упорядочиваемый»: false, 'в код инициализации: [обновлено jsfiddle] (https://jsfiddle.net/markps/L6omgf1y/5/) – markpsmith