Используем CJuiDatePicker для фильтра CGridView в Yii



CJuiDatePicker (виджет jQuery UI DatePicker для Yii) очень просто использовать в виджете CGridView для фильтра записей по дате. Ниже приведу небольшой пример, достаточный для внедрения в Ваше приложение.

Пример:

 

Заметки

  • Определяем callback ‘afterAjaxUpdate’ для вызова функции инициализации datepicker. Это нужно определить, т.к. он возвращает plain text в поле фильтра каждый раз после ajax запроса в СGridView. См. (#1) и (#5)
  • В параметр ‘i18nScriptFile’ прописываем jquery-ui-i18n.min.js (файл интернационализации для виджета). Соответственно устанавливаем язык ‘ru’ (Смотри #2)
  • Нужно использовать ‘defaultOptions’ вместо ‘options’. Так как в пункте 1 и 5 каждый раз заново инициализируем datepicker достаточно один раз прописать настройки виджета по умолчанию. (#3)
  • Вызываем CController::widget() с третьим параметром ‘true’ для перехвата возвращаемого значения. См. офиц. API. (#4)

На этом всё. Ваш кэп.

P. S. Больше информации об использовании jQuery UI Datepicker в вики yiiframework.

Добавить комментарий

*