2015-02-24 3 views
0

У меня есть веб-приложение, которое использует jquery DataTables с обратным вызовом ajax для поиска/сортировки серверов данных. Я нажимаю некоторые дополнительные данные с использованием aoData.push. Одно из значений данных является значение множественного выбора коробки, так что это Java-массив, так что толкающий выглядиттаблицы данных aodata.push преобразование массива в список, разделенный запятыми

aoData.push({name:"multiselect",value:$('#multiselect').val()}); 

В DataTables 1.9.1, в GET Params для запроса Ajax, multiselect заканчивается как разделенный запятыми список, т.е.

&multiselect=1,2,3 

Я обновлен до версии 1.10, и теперь значение фактически послан как массив:

&multiselect[]=1&multiselect[]=2&multiselect[]=3 

Я хотел бы, чтобы вернуться к будучи разделенным запятыми, поскольку это то, что ожидает код сервера php, и у меня нет доступа к нему.

Я ничего не изменил в своей инициализации HTML или DataTables, я просто обновил файл jquery.dataTables.js, включив его в более новую версию.

Как сообщить DataTables для отправки моих данных мультиселекта на сервер в виде списка с разделителями-запятыми, а не массивом?

+0

В вашем fnServerData() обратного вызова вы можете преобразовать $ ('# Множественный'). Val(), чтобы через запятую, а затем передать, что в aoData? –

+0

Да, но поскольку функциональность изменилась при обновлении, я понял, что будет свойство, которое я мог бы установить – chiliNUT

+0

Эта проблема может быть не связана с DataTables. Вместо этого, возможно, это произошло из-за обновления jQuery, см. «Традиционная» настройка в [$ .ajax] (http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings) документации. –

ответ

1

Вы можете заставить данные 1.10 использовать стиль 1.9 для отправки параметров сервера, установив $.fn.dataTable.ext.legacy.ajax = true.

http://www.datatables.net/manual/server-side#Legacy

+0

Я пробовал это до и после объявления dataTables, и это не сработало. Я также использую параметр 'sAjaxSource', как было предложено ссылкой, и это не сработало. Я думаю, мне просто нужно разделить массив вручную. – chiliNUT