如果在ajax更新界面中使用到了CJuiDatePicker组件,那么注意需要重新执行jquery ui datepicker JS的初始化脚本,日期控件才能生效。

另外datepicker控件依赖于jQuery UI插件,所以需要注册jquery ui的CSS和JS文件。具体代码如下:

registerCoreScript('jquery');
    Yii::app()->getClientScript()->registerCoreScript( 'jquery.ui' ); 
    Yii::app()->clientScript->registerCssFile(
        Yii::app()->clientScript->getCoreScriptUrl().
        '/jui/css/base/jquery-ui.css'
    );   
    Yii::app()->clientScript->registerCssFile(
        Yii::app()->clientScript->getCoreScriptUrl().
        '/jui/css/base/jquery.ui.datepicker.css'
    );  
?>
登录后复制

重新安装日期控件初始化脚本:

$.ajax({
url:'',
type:'post',
data: '&days=' + days,
dataType:'text',
success:function(data){
  $("#list").html(data);
          $('#begin_time').datepicker(jQuery.extend({showMonthAfterYear:false},jQuery.datepicker.regional['cn'],{'dateFormat':'yy/mm/dd'}));            
}
});
登录后复制

如果在CGridView中使用日期控件,那么可以把重新初始化的操作放在afterAjaxUpdate回调中。

以上就介绍了Yii:在ajax刷新中使用CJuiDatePicker日期控件,包括了方面的内容,希望对

09-09 17:44