YII学习第十九天,datepicker的使用

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

<?php 
$this->widget('zii.widgets.jui.CJuiDatePicker',array(
	'attribute'=>'visit_time',
	'language'=>'zh_cn',
	'name'=>'visit_time',
	'options'=>array(
		'showAnim'=>'fold',
		'showOn'=>'both',
		'buttonImage'=>Yii::app()->request->baseUrl.'/images/calendar.gif',
		'buttonImageOnly'=>true,
		'minDate'=>'new Date()',
		'dateFormat'=>'yy-mm-dd',
	),
	'htmlOptions'=>array(
		'style'=>'height:18px',
	),
));
?>

 例2,

 

<?php 
$this->widget('zii.widgets.jui.CJuiDatePicker',array(
	'attribute'=>'visit_time',
	'language'=>'zh_cn',
	'model'=>$repairInfo,
	'name'=>$repairInfo->visit_time,
	'options'=>array(
		'showAnim'=>'fold',
		'showOn'=>'both',
		'buttonImage'=>Yii::app()->request->baseUrl.'/images/calendar.gif',
		'buttonImageOnly'=>true,
		'minDate'=>'new Date()',
		'dateFormat'=>'yy-mm-dd',
	),
	'htmlOptions'=>array(
		'style'=>'height:18px',
	),
));
?>

 例3,

<div class="row">
<?php echo $form->labelEx($model,'time'); ?>
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model,
'attribute'=>'time',
'options'=>array(
    //'showAnim'=>'slideDown', // 'show' (the default), 'slideDown', 'fadeIn', 'fold'
    'showOn'=>'button', // 'focus', 'button', 'both'
    'buttonImage'=>Yii::app()->request->baseUrl.'/images/calendar.png',
    'buttonImageOnly'=>true,
    'htmlOptions'=>array('readonly'=>"readonly"),
    'changeMonth'=>true,
    'changeYear'=>true,
    'mode'=>'datetime',
    'dateFormat'=>'dd/mm/yy',
'htmlOptions'=>array(
    'size'=>43,
    'value'=>(!empty($model->time))?(is_numeric($model->time))?date('d/m/Y',$model->time):$model->time:date('d/m/Y')),

)));?>
<?php echo $form->error($model,'time'); ?>
</div>

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

http://jqueryui.com/demos/datepicker/ 

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


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

你可能感兴趣的:(form,yii)