11 Yii::import(
'zii.widgets.jui.CJuiInputWidget');
53 public $i18nScriptFile=
'jquery-ui-i18n.min.js';
58 public $defaultOptions;
70 list($name,$id)=$this->resolveNameID();
72 if(isset($this->htmlOptions[
'id']))
73 $id=$this->htmlOptions[
'id'];
75 $this->htmlOptions[
'id']=$id;
76 if(isset($this->htmlOptions[
'name']))
77 $name=$this->htmlOptions[
'name'];
79 if($this->flat===
false)
82 echo CHtml::activeTextField($this->model,$this->attribute,$this->htmlOptions);
84 echo CHtml::textField($name,$this->value,$this->htmlOptions);
90 echo CHtml::activeHiddenField($this->model,$this->attribute,$this->htmlOptions);
91 $attribute=$this->attribute;
92 $this->options[
'defaultDate']=$this->model->$attribute;
96 echo CHtml::hiddenField($name,$this->value,$this->htmlOptions);
97 $this->options[
'defaultDate']=$this->value;
100 $this->options[
'altField']=
'#'.$id;
102 $id=$this->htmlOptions[
'id']=$id.
'_container';
103 $this->htmlOptions[
'name']=$name.
'_container';
105 echo CHtml::tag(
'div',$this->htmlOptions,
'');
108 $options=CJavaScript::encode($this->options);
109 $js =
"jQuery('#{$id}').datepicker($options);";
111 if($this->language!=
'' && $this->language!=
'en')
113 $this->registerScriptFile($this->i18nScriptFile);
114 $js =
"jQuery('#{$id}').datepicker(jQuery.extend({showMonthAfterYear:false},jQuery.datepicker.regional['{$this->language}'],{$options}));";
117 $cs = Yii::app()->getClientScript();
119 if(isset($this->defaultOptions))
121 $this->registerScriptFile($this->i18nScriptFile);
122 $cs->registerScript(__CLASS__,$this->defaultOptions!==null?
'jQuery.datepicker.setDefaults('.CJavaScript::encode($this->defaultOptions).
');':
'');
124 $cs->registerScript(__CLASS__.
'#'.$id,$js);