2015-10-04 13 views
0

Существует опция для отображения окна поиска для фильтрации. Что делать, если я хотел бы иметь предопределенное поле выбора для выбора записей для определенного поля?Изменения в возвращаемых строках DataTables

Например, если я добавляю элемент выбора, который имеет список категорий, которые сужают отображаемые строки на category_id. Какую часть API я бы сказал, чтобы DataTables обновлял результаты AJAX на основе изменения этого значения?

Очевидно, что я использовал бы метод ajax.reload(), но как я могу фильтровать это category_id?

ответ

0

РЕШЕНИЕ

Вы можете использовать ajax.data опцию, чтобы добавить дополнительный параметр, который будет отправлен на сервер, и это будет ваше значение фильтра.

$('#example').DataTable({ 
    "ajax": { 
     "url": "/test/0", 
     "data": function(d){    
      d.form_filter = $('#example-select').val(); 
     } 
    } 
}); 

// Handle filter change event 
$('#example-select').on('change', function(){ 
    // Reload table data from Ajax data source 
    $('#example').DataTable().ajax.reload(); 
}); 

Вы должны обрабатывать этот параметр (form_filter в моем примере) на сервере и вернуть соответствующие данные.

DEMO

См this jsFiddle для кода и демонстрации.

+0

Получение ошибки '$ .mockjax не является функцией', когда я пытаюсь запустить скрипку. – eComEvo

+0

@eComEvo, обновленная ссылка на библиотеку mockjax на всякий случай, но она работает для меня. Обратите внимание, что я использую его только для демонстрации, он не нужен для производства. –

+0

Теперь это работает и для меня! Спасибо, что прикрепил меня к 'mockjax', BTW. Прохладный инструмент. – eComEvo

Смежные вопросы