javascript — DataTable 1.10x Фильтр столбцов jQuery через текстовое поле ввода на стороне сервера

У меня проблемы с DataTable 1.10 Фильтрация столбцов через элемент ввода.

jQuery(document).ready(function() {

dt_table = $('#datatable_list').DataTable( {
"dom": "<'top'i>rt<'table-scrollable't>lp",
"processing": true,
"serverSide": true,
"ajax": "ajax/list_json.php",
"pageLength": 10,
"autoWidth": false
});

$('#quickfind').on( 'keyup', function () { dt_table.search( this.value ).draw(); } );

});

Как вы можете видеть, я использую обработку на стороне сервера с выводом json. Полный список заполняется хорошо.

В таблице есть нижний колонтитул с 4 входами:

    <tfoot>
<tr>
<th><input type="text" id="filters_0" name="filters_0" class="form-control form-filter"></th>
<th><input type="text" id="filters_1" name="filters_1" class="form-control form-filter"></th>
<th><input type="text" id="filters_2" name="filters_2" class="form-control form-filter"></th>
<th><input type="text" id="filters_3" name="filters_3" class="form-control form-filter"></th>
</tr>
</tfoot>

Я использую стандарт ssp.class.php учебный класс. Пожалуйста, я работаю в течение 4 дней с этим простым проектом фильтрации столбцов.

То, что я хочу, просто. Текстовое поле быстрого поиска отлично подходит для поиска по всей таблице. Но я хочу фильтровать также для каждого столбца. Например, «filters_0» — это идентификатор продукта. Но это не сработает.

Пожалуйста, поймите, что я использую последнюю версию DataTabes 1.10.

0

Решение

Сначала вы должны сериализовать свои поля (в tfoot), прежде чем передавать их в качестве данных поиска.
Я использую внешнюю форму, и когда она отправлена, просто сделайте это:

dt_table = $('#datatable_list');
var formData = $('#search-form-orders').serialize();
dt_table.search( formData ).draw();

Затем на стороне сервера я использую не SSP, а пользовательский фреймворк, поэтому:

// get the 'search' array from $_GET and don't forget to clean it !!!
if( $search['value'] !=='' )
foreach (explode('&', $search['value']) as $chunk) {
$param = explode("=", $chunk);
$field = urldecode($param[0]);
$value = urldecode($param[1]);
$criterias[] = array( $field => $value );
}

И, наконец, обработать критерии для построения запроса

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector