。我有一个CGridView
和Yii的datepicker
在其中一个滤波器中。我有一个格式设置为yy-mm-dd
,但在我把值和GridView
使用ajax来调整数据-格式更改为:dd.mm.yy
。下面是我的代码:
array(
'name' => 'confirmStart',
'filter' => $this->widget('zii.widgets.jui.CJuiDatePicker',
array(
'model' => $model,
'attribute' => 'confirmStart',
'language' => 'pl',
'i18nScriptFile' => 'jquery.ui.datepicker-ja.js',
'htmlOptions' => array(
'id' => 'Projects_confirmStart',
'dateFormat' => 'yy-mm-dd',
),
'defaultOptions' => array( // (#3)
'showOn' => 'focus',
'dateFormat' => 'yy-mm-dd',
'showOtherMonths' => true,
'selectOtherMonths' => true,
'changeMonth' => true,
'changeYear' => true,
'showButtonPanel' => true,
)
),
true),
),
不知道这是否会解决你的问题,但我在CGridView中使用日期picker时遇到了一些问题。为了解决这个问题,我需要重新安装日期选择器:
在你的CGridView中:
'afterAjaxUpdate' => 'reinstallDatePicker',
在Cgrid视图下面添加以下脚本:
Yii::app()->clientScript->registerScript('re-install-date-picker', "
function reinstallDatePicker(id, data) {
$('#Projects_confirmStart').datepicker();
}
");
如果仍然不能解决你的问题,你可以试试:
Yii::app()->clientScript->registerScript('re-install-date-picker', "
function reinstallDatePicker(id, data) {
$('#Projects_confirmStart').datepicker({ dateFormat: 'yy-mm-dd' });
}
");
或(不确定该用哪个)
Yii::app()->clientScript->registerScript('re-install-date-picker', "
function reinstallDatePicker(id, data) {
$('#Projects_confirmStart').datepicker('option', 'dateFormat', 'yy-mm-dd');
}
");
编辑:要放回日期,您可以尝试使用javascript设置日期:
Yii::app()->clientScript->registerScript('re-install-date-picker', "
function reinstallDatePicker(id, data) {
$('#Projects_confirmStart').datepicker('option', 'dateFormat', 'yy-mm-dd');
var start = $('#Projects_confirmStart').val();
$('#Projects_confirmStart' ).datepicker( 'setDate', start );
}
");
我真的不确定它是否有效