Я надеялся, что кто-то может помочь мне с этим. Я сошел с ума от этого.
У меня есть ситуация, когда я загружаю сетку DataTables (кстати, отличная штука!), И все отлично. Потом иду искать и сталкиваюсь с проблемами. Данные, заполняемые в сетке, поступают из двух разных таблиц базы данных (это нормально), но когда кто-то выполняет поиск, у меня нет возможности узнать, куда идти и получать данные. Мне нужно знать, по каким критериям осуществляется поиск (например, по названию или контакту). Я вижу, что когда поиск вызывается с сервера через поле поиска по умолчанию, есть такие переменные, как «sSearch_0», которые все не установлены, как они устанавливаются?
Вот код инициализации таблицы:
oTable = $('#example').dataTable({
"bJQueryUI": true,
"bFilter": true,
"sPaginationType": "full_numbers",
"bPaginate " : true,
"bServerSide" : true,
"sAjaxSource" : "php/tabledata.php",
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ 0,6,8 ] },
{ "sClass": "tdCenter", "aTargets": [ 0,1,2,3,4,5,6,7,8 ] }
],
"fnServerData": function ( sSource, aoData, fnCallback ) {
aoData.push( { "name": "userid", "value": userid } );
$.getJSON( sSource, aoData, function (json) {
fnCallback(json)
});
}
});
Я рассмотрел варианты добавления данных в «fnServerData» и фактически использовал их для первого вызова сервера инициализации, но не уверен, как использовать это для последующего вызова сервера. Я пытался использовать «fnFilter», но я не вижу, чтобы выполнение вызова сервера для получения дополнительных данных. На данный момент я не вижу никакого другого способа выполнить вызов сервера, кроме окна поиска по умолчанию, и я вижу какой-то способ узнать, для какого столбца выполняется поиск.
Может ли кто-нибудь помочь мне здесь и указать мне правильное направление?