2016-07-25 6 views
0

В таблице данных jQuery reference показан пример установки параметра rowId столбцу из источника данных (на стороне сервера). Этот параметр используется для расширения «select» и retaining row selection on Ajax reload.Как сгенерировать jQuery DataTables rowId на стороне клиента?

Есть ли способ генерировать значение идентификатора строки 1) на стороне клиента или 2) в виде комбинации нескольких столбцов из источника данных?

Пример источника данных:

{ 
    "data": [ 
    { 
     "aid": 5421, 
     "bid": 4502, 
     "name": "John Smith" 
    } 
} 

Код:

$("#datatable").DataTable({ 
    select: true, 
    //rowId: "aid" each row ID is the value of the "aid" column 
    //  e.g., <tr id="5421"> 

    //rowId: 0 each row ID is the value of the 0-indexed column 
    //  e.g., <tr id="5421"> (same as above) 

    rowId: [0, 1] // How? row ID combined value of 2+ columns 
        // e.g. <tr id="5421-4502"> 

    rowId: "random" // How? random generated client-side ID 
        // e.g., <tr id="id34e04"> 
}); 

ответ

1

Видимо, нет никакого способа сделать это непосредственно. В качестве обходного пути вы можете использовать опцию ajax.dataSrc и/или опцию rowId:

// Example using dataSrc option to manipulate data: 
$("#example").dataTable({ 
    ajax: { 
     url: "data.json", 
     dataSrc: function (json) { 
      for (var i = 0, ien = json.data.length; i < ien; i++) { 
       json.data[i][0] = '<a href="' + json.data[i][0] + '">View Message</a>'; 
      } 
     } 
    } 
}); 
Смежные вопросы