yii 框架 - 当我在表单中启用 ClientValidation 时,jquery datepicker 不起作用

Posted

技术标签:

【中文标题】yii 框架 - 当我在表单中启用 ClientValidation 时,jquery datepicker 不起作用【英文标题】:yii framework - jquery datepicker dont work when i enable ClientValidation in form 【发布时间】:2012-05-28 16:19:34 【问题描述】:

我正在使用 yii 框架开发应用程序。我的一种形式还需要 yii 客户端验证和 jquery 日期选择器,但是当我启用客户端验证时 jquery 日期选择器停止工作。

页面中包含以下 js 文件:

//jquery 库

http://code.jquery.com/jquery-latest.js

//用于jquery日期选择器

“http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css” “http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js”

【问题讨论】:

我在控制台中收到此错误 $("#inputid").datepicker is not a function 您是否手动包含任何 js 文件? Yii 通常会处理它们,即使是扩展。 是的,我手动包含这些 js 文件。你的意思是说 yii 自动包含 jquery 文件?你能解释一下吗? 是的,模块/扩展就是这样写的。例如,如果您从 framework/zii/widgets/jui 打开 CJuiDatePicker.php 并查找 run() 方法,您可以自己看到 registerScriptFile 方法被多次调用。它处理包含 jquery 和 jquery ui js 文件。 @Örs 非常感谢你,我没有意识到这一点......这对我有帮助:) 【参考方案1】:

尝试使用CJuiDatePicker,而不是加载外部jquery-ui:

$this->widget('zii.widgets.jui.CJuiDatePicker', array(
    'model' => $model,
    'attribute' => 'model_date',
    // additional javascript options for the date picker plugin
    'options'=>array(
        'dateFormat' => 'yy-mm-dd',
    ),
    'htmlOptions'=>array(
        'id' => 'foo',
    ),
));

【讨论】:

以上是关于yii 框架 - 当我在表单中启用 ClientValidation 时,jquery datepicker 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP yii 框架以带有图像预览和裁剪工具的注册表单上传图像?

使用 Yii 框架进行 CAS 身份验证

yii框架中,如何利用下拉菜单进行筛选

PHP-Yii框架下提交表单form防止csrf攻击

Yii框架用ajax提交表单时候报错Bad Request (#400): Unable to verify your data submission.

表单未在 yii 中验证和提交