我创建了一个新的Yii应用程序并创建了一个master并为一个字段添加了一个datepicker。它只显示选择器未来的文本框。
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model'=>$model,
'attribute'=>'date_of_order',
'value'=>$model->date_of_order,
'options'=>array(
'autoSize'=>true,
'changeMonth'=>'true',
'changeYear'=>'true',
'maxDate'=> 0,
'yearRange'=>Yii::app()->params['YearRange'],
),
'htmlOptions'=>array('size'=>'10')
)); ?>
在控制台中,它会显示一些错误,例如。
TypeError: this._get(...) is null
...,r=n._rgba=s._rgba,!1}),r.length?(r.join()==="0,0,0,0"&&t.extend(r,c.transparent...
之前我曾经以类似的方式使用过datepicker,但我不明白为什么它现在不起作用了?
答案 0 :(得分:0)
你必须主要关注CSS和JS。您使用的代码没有问题。 查看reference的这些内容。
您的小部件可能会遗漏一些依赖CSS和JS。如果您的表单上缺少该资产,您只需注册类似该引用的脚本
<强>解决方案:强>
$baseScriptUrl=Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('web.js.source.jui'));
/*JS files*/
Yii::app()->clientScript->registerScriptFile($baseScriptUrl.'/js/jquery-ui-i18n.min.js',CClientScript::POS_END);
Yii::app()->clientScript->registerScriptFile($baseScriptUrl.'/js/jquery-ui.min.js',CClientScript::POS_END);
/*CSS Files*/
Yii::app()->clientScript->registerScriptFile($baseScriptUrl.'/css/base/jquery.ui.datepicker.css');