Yii CJuiDatePicker не работает, когда страница загружается с помощью ajax, но работает с прямым доступом по URL

Это немного сбивает с толку работу виджета CJuiDatePicker. когда я захожу на страницу с прямым URL-адресом, она работает нормально, и календарь отображается как требуется, но проблема в том, что когда я загружаю страницу в динамическую часть с помощью вызова ajax, появляются только текстовые поля, но календарь не отображается после нажатия на нее.

$this->renderPartial('index', array('policyModel' => $policyModel, 'roomModel' => $roomModel, 'formModel' => $formModel,'response' => $response),false,true);

Код виджета

 $this->widget('zii.widgets.jui.CJuiDatePicker', array(
'name' => 'start_date',
'options' => array(
'dateFormat' => 'yy-mm-dd',
'showAnim' => 'fadeIn',
'changeMonth' => true,
'changeYear' => true,
'yearRange' => '2000:2099',
'minDate' => '+1d',
'maxDate' => '10Y',
),
'htmlOptions' => array(
'readonly' => 'readonly',
'size' => 7,
),
));

Может кто-нибудь, пожалуйста, помогите мне, я отправляю вопрос после стольких часов поиска.

0

Решение

Вы должны установить уникальный идентификатор для средства выбора даты. Я делаю это с php-функцией uniqid ()

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
'id' => 'start_date'.uniqid(),
'name' => 'start_date',
'options' => array(
'dateFormat' => 'yy-mm-dd',
'showAnim' => 'fadeIn',
'changeMonth' => true,
'changeYear' => true,
'yearRange' => '2000:2099',
'minDate' => '+1d',
'maxDate' => '10Y',
),
'htmlOptions' => array(
'readonly' => 'readonly',
'size' => 7,
),
));

Удачи!

1

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

Вам нужно повторно инициализировать указатель даты после обновления ajax. После завершения Ajax вам нужно добавить следующую строку:

$('#start_date').datepicker(); //with your options
0

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