2013-04-19 2 views
1

Я пытаюсь заставить CJuiDatepicker спрятаться после того, как я выбрал дату. Ничего не работает. Как я могу это достичь?CJuiDatepicker hide on select

Вот мой реальный код:

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
      'model' => $model, 
      'attribute' => 'confirmStart', 
      'options' => array(
       'format' => 'yyyy-mm-dd', 
       'showButtonPanel' => false, 
       'onSelect' => 'js:function() { 
         $("#Projects_confirmStart").datepicker("hide"); 
        } 
        ', 
      ), 
     )); 
+0

Попробуйте проверить с ' 'onSelect' => 'ЯШ: функция() {. Console.log ($ ("# Projects_confirmStart") длина}'. ', Для быть уверены, что селектор является правильным – ole

+0

Хм, похоже, что он вообще не работает, потому что он ничего не выводит. – Joe

ответ

0

Он работает нормально в моем тесте Yii приложение. Проверьте свою программу с помощью mozilla firebug. При выборе даты вы можете получить сообщение об ошибке в консоли. Может быть, ваша функция datepicker работает с некоторыми другими плагинами/скриптами.

+0

Я проверил его, но нет - ошибок не было. Может быть, причина в том, что на странице есть 3 datepickers? – Joe

+0

Вы можете добавить несколько сборщиков дат в – Hearaman

+0

Я знаю, у меня их 3. Я просто ищу причину не скрываться. – Joe

0

Эта работа для меня.

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
    'model' => $model, 
    'attribute' => 'fechaAdq', 
    'language' => 'es', 
    'i18nScriptFile' => 'jquery-ui-i18n.min.js', 
    'htmlOptions' => array(
     'id' => 'FMAIDetalleAdq_fechaAdq', 
     'size' => '10', * *'onChange' => 'jQuery("#FMAIDetalleAdq_fechaAdq").datepicker("hide")' * * 
    ) , 
    'defaultOptions' => array(
     'showOn' => 'focus', 
     'showOtherMonths' => true, 
     'selectOtherMonths' => true, 
     'changeMonth' => true, 
     'changeYear' => true, 
     'showButtonPanel' => true, 
    ) , 
    'options' => array(
     'showAnim' => 'fold', 
     'format' => 'dd-mm-yyyy', 
     'language' => 'es', 
    ) , 
) , true);