<div class="row">
<?php echo $form->labelEx($model,'end_time'); ?>
<?php
$this->widget('application.extensions.timepicker.timepicker', array(
'model'=>$model,
'name'=>'end_time',
));
?>
<?php echo $form->error($model,'end_time'); ?>
</div>
1、关于日期控件,Yii内置扩展(zii)中有CJuiDatePicker,使用例子如下:
- <pre name="code" class="php"> <div class="Input">
- <label>End time:<span class="required">(*)</span></label>
- <?php
- $this->widget('zii.widgets.jui.CJuiDatePicker', array(
- 'model'=>$deal,
- 'attribute'=>'end_time',
- 'options' => array(
- 'dateFormat'=>'yy-mm-dd', //database save format
- //'altFormat'=>'mm-dd-yy' //display format
- //'showAnim'=>'fold',
- //'yearRange'=>'-3:+3'
- ),
- 'htmlOptions'=>array(
- 'readonly'=>'readonly',
- 'style'=>'width:90px;',
- )
- ));?>
- </div></pre>
其中model和attribute参数必须同时提供,
这样在控制器中对于该时间日期数据就无需额外的处理。
在一些复杂情况下,可以直接用name参数替换上面两个参数组合,然后在控制器中对该数据输入项做进一步处理后赋值给模型的属性。
dateFormat用来控制日期数据保存时的格式,altFormat用来控制界面显示格式;
showAnim用来控制jqueryui日历控件的显示动画;
yearRange用来设置年份范围。
2、在很多时候,需要精确到时分秒的时间,那么就需要用到Yii的一个timepicker扩展:
http://www.yiichina.net/extension/timepicker/
把该扩展放到你的扩展路经下,比如extensions,在视图中添加如下代码:
- <?php
- $this->widget('application.extensions.timepicker.timepicker', array(
- 'model'=>$deal,
- 'name'=>'start_time',
- ));
- ?>
这个控件的日期格式是Y-m-d H:m:s和mysql的DATETIME类型匹配,如果你的数据库中使用的是timestamp,那么需要在控制器中额外转换一下。
你还可以通过在css里面定义button的样式来更改该控件的按钮显示。