2013-05-01 1 views
0

В моем проекте я использую плагин jQuery Datatables, и я реализовал фильтр столбцов и редактируемые плагины. Все последние выпуски.jQuery Datatables Column Filter выбрать параметры фильтра не обновляются с помощью Editable

Проблема заключается в том, что после добавления новых значений в таблицу (путем добавления новой записи или обновления существующего) ниспадающий фильтр для соответствующего столбца не обновляется. То есть выбор остается неизменным независимо от того, какие изменения применяются к записям в таблице.

Во время моего исследования я нашел демонстрацию (http://jquery-datatables-editable.googlecode.com/svn/trunk/columnFilter.html), которая демонстрирует интеграцию вышеупомянутых плагинов, но только с фильтрами текстовых полей. Поэтому я загрузил эту веб-страницу и попытался изменить только текстовый фильтр. Однако это было безуспешно.

ответ

0

Я решил проблему путем изменения столбца фильтрации Исходный код плагина , Я заменил строку 397 с этим кодом:

if (oSettings.iDraw == 2 || ajaxCall == true && oSettings.sAjaxSource != null && oSettings.sAjaxSource != "" && !oSettings.oFeatures.bServerSide) { if (iColumn == 3) { ajaxCall = false; }

Где iColumn сравниваются с 3, так как первым раскрывающимся в четвертом столбце таблицы. Затем переменная ajaxCall утверждает, что некоторая строка была отредактирована, добавлена ​​или удалена. Потому что всякий раз, когда делается вызов ajax для этой цели, я изменяю переменную на true. Чтобы быть в безопасности, я инициализирую переменную как ложную до того, как будет прочитан исходный код плагина.

0

При изменении строк таблицы вам нужно повторно установить редактируемые функции.

  1. $ ('. Editable'). Editable ('disable');
  2. Переинициализируйте с новыми выбора опций

Вы можете увидеть, как вы реализовать включить/отключить функциональность этой страницы: How to Enable/Disable JEditable

+0

Благодарим вас за быстрый ответ. Ревностно это не решает мою проблему. Я не уверен, что вы поняли, что я использую Editable для редактирования строк, а не JEditable. Поэтому я не инициализирую JEditable, и реализация данной функции включения/выключения невозможна. –

+0

My bad ... :(Тем не менее, я думаю, что ваша проблема основана на не повторной инициализации ваших элементов dom. Например, попробуйте разложить и пересоздать данные с возможностью редактирования. Не может быть лучшим решением, но, по крайней мере, что-то. –

+0

В соответствии с этой проблемой: http://code.google.com/p/jquery-datatables-column-filter/issues/detail?id=119 невозможно успешно воссоздать данные с колонкой Фильтрация плагина. –

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