Yii中使用datepicker的几种方式

一,前端展示
例1,最简单好用的方式。简单在于不需要$model

Php代码  收藏代码
  1. <?php
  2. $this->widget(‘zii.widgets.jui.CJuiDatePicker’,array(
  3.     ‘attribute’=>’visit_time’,
  4.     ‘language’=>’zh_cn’,
  5.     ‘name’=>’visit_time’,
  6.     ‘options’=>array(
  7.         ‘showAnim’=>’fold’,
  8.         ‘showOn’=>’both’,
  9.         ‘buttonImage’=>Yii::app()->request->baseUrl.’/images/calendar.gif’,
  10.         ‘buttonImageOnly’=>true,
  11.         ‘minDate’=>’new Date()’,
  12.         ‘dateFormat’=>’yy-mm-dd’,
  13.     ),
  14.     ‘htmlOptions’=>array(
  15.         ‘style’=>’height:18px’,
  16.     ),
  17. ));
  18. ?>

例2:

Php代码  收藏代码
  1. <?php
  2. $this->widget(‘zii.widgets.jui.CJuiDatePicker’,array(
  3.     ‘attribute’=>’visit_time’,
  4.     ‘language’=>’zh_cn’,
  5.     ‘model’=>$repairInfo,
  6.     ‘name’=>$repairInfo->visit_time,
  7.     ‘options’=>array(
  8.         ‘showAnim’=>’fold’,
  9.         ‘showOn’=>’both’,
  10.         ‘buttonImage’=>Yii::app()->request->baseUrl.’/images/calendar.gif’,
  11.         ‘buttonImageOnly’=>true,
  12.         ‘minDate’=>’new Date()’,
  13.         ‘dateFormat’=>’yy-mm-dd’,
  14.     ),
  15.     ‘htmlOptions’=>array(
  16.         ‘style’=>’height:18px’,
  17.     ),
  18. ));
  19. ?>

例3:

Php代码  收藏代码
  1. <div class=”row”>
  2. <?php echo $form->labelEx($model,’time’); ?>
  3. <?php $this->widget(‘zii.widgets.jui.CJuiDatePicker’, array(
  4. ‘model’=>$model,
  5. ‘attribute’=>’time’,
  6. ‘options’=>array(
  7.     //’showAnim’=>’slideDown’, // ‘show’ (the default), ‘slideDown’, ‘fadeIn’, ‘fold’
  8.     ‘showOn’=>’button’, // ‘focus’, ‘button’, ‘both’
  9.     ‘buttonImage’=>Yii::app()->request->baseUrl.’/images/calendar.png’,
  10.     ‘buttonImageOnly’=>true,
  11.     ‘htmlOptions’=>array(‘readonly’=>”readonly”),
  12.     ‘changeMonth’=>true,
  13.     ‘changeYear’=>true,
  14.     ‘mode’=>’datetime’,
  15.     ‘dateFormat’=>’dd/mm/yy’,
  16. ‘htmlOptions’=>array(
  17.     ‘size’=>43,
  18.     ‘value’=>(!emptyempty($model->time))?(is_numeric($model->time))?date(‘d/m/Y’,$model->time):$model->time:date(‘d/m/Y’)),
  19. )));?>
  20. <?php echo $form->error($model,’time’); ?>
  21. </div>

其他参数,可以参考jquery datepicker手册,然后将其放在上面的options里,并用单引号引起来。
http://jqueryui.com/demos/datepicker/

如设置最小日期为当前日期:’minDate’=>’new Date()’,

二,后端获取
可以通过上面$model来获取,对应数据库中的一个表。
也可以使用js通过普通的方式获取其值。上面的日历,最终会生成一个input表单,用firebug查看其id,然后再获取该id的值,即可获取选择的日期。再通过get/post/ajax方式发送到后端。

Tagged on: ,

One thought on “Yii中使用datepicker的几种方式

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*