#jquery #jquery-datatables
#jquery — запрос #таблицы данных #jquery
Вопрос:
Я использую таблицы данных плагина jquery для сортировки таблиц и манипулирования ими. При вызове на стороне сервера мои данные возвращают целое число (0 или 1). Если бы я выполнял простой вызов в php, это было бы просто, но я пытаюсь отобразить «индивидуальный» или «семейный» на основе 0 или 1, возвращаемых с сервера.
Я уверен, что это должно быть сделано в реальной функции Datatables:
$('#example').datables();
Возможно ли отображать строку при наличии целого числа в таблицах данных?
Примечание: манипулирование в самом php-скрипте не является здесь допустимым решением, поскольку вызов строится динамически с самого начала.
Ответ №1:
Да, это можно сделать относительно легко. Я полагаю, что это выполняется по строкам, поэтому лучше всего использовать fnRowCallback при инициализации. Что-то вроде этого (просто образец; я не знаю ваших полных данных):
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
/* Create some variables mainly for legibility. */
var family = aData['familyStatus']; // if using 3D with mDataProp
// var family = aData[2]; // if using 2D array with index
var famColumn = 2; // you could do this inline if you really want; I find a variable easier to keep track of
var visibleString = "individual";
if (family) { // adjust accordingly if condition isn't properly tested this way (ie. if the truthiness of your "1" isn't panning out
visibleString = "family"; // default is individual, but if family is true then update the variable
}
$('td:eq(' famColumn ')', nRow).text(visibleString);
return nRow;
}
Комментарии:
1. Нет проблем; только что закончил рефакторинг кода; не уверен, видели ли вы обновленную версию.
Ответ №2:
Взгляните на http://datatables.net/usage/callbacks#fnPreDrawCallback это функция, которую вы можете переопределить непосредственно перед построением таблицы. Вы можете поместить свою функцию сюда?
Комментарии:
1. Спасибо за ссылку. Я читал это ранее, но, похоже, из этой документации разработчик знает, что идентификатор столбца «#test», но при создании таблиц данных идентификаторы не определяются таким образом. Я что-то упускаю?