1

I have the code below to display a calendar input in Yii form.

<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
                'name' => 'publish_date',
                'attribute' => 'publish_date',
                'model'=>$model,
                'options'=> array(
                  'dateFormat' =>'yy-mm-dd',
                  'defaultDate' => '2014-3-4',
                  'altFormat' =>'yy-mm-dd',
                  'changeMonth' => true,
                  'changeYear' => true,
                  'appendText' => 'yyyy-mm-dd',
                ),  
              )); 
 ?>

The default value work on the calendar but I want to show it by default in the calendar input too when the form is rendering.

How can I do it?

Manquer
  • 7,390
  • 8
  • 42
  • 69
hd.
  • 17,596
  • 46
  • 115
  • 165

2 Answers2

5

You can use Html value attribute for this

<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
                'name' => 'publish_date',
                'attribute' => 'publish_date',
                'model'=>$model,
                'options'=> array(
                  'dateFormat' =>'yy-mm-dd',
                  'defaultDate' => '2014-3-4',
                  'altFormat' =>'yy-mm-dd',
                  'changeMonth' => true,
                  'changeYear' => true,
                  'appendText' => 'yyyy-mm-dd',
                ),
               'htmlOptions'=>array('value'=>'2013-4-4')
              )); 
Manquer
  • 7,390
  • 8
  • 42
  • 69
1

Manquer's solution didn't work (in version 1.1.17), CJuiDatePicker extends from CJuiInputWidget and it has a value property which is used by CHtml::inputField() when rendering the element, overwriting the value field of htmlOptions property.

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
    'name' => 'publish_date',
    'attribute' => 'publish_date',
    'model'=>$model,
    'options'=> array(
        'dateFormat' =>'yy-mm-dd',
        'defaultDate' => '2014-3-4',
        'altFormat' =>'yy-mm-dd',
        'changeMonth' => true,
        'changeYear' => true,
        'appendText' => 'yyyy-mm-dd',
    ),
    'value' => '2013-3-4',
));
szako
  • 1,271
  • 1
  • 9
  • 12