4

我正在使用 Yii 框架开发应用程序。我在用

$(document).ready(function(){
    
    $('.date-picker').datepicker();
    
});

它在任何地方运行,但是当我将它放在 index.php 视图文件中时,它在 Firefox 控制台中给了我以下错误:

TypeError: $(...).datepicker 不是函数

$('.date-picker').datepicker();

我在任何地方都搜索了上述错误,但没有解决方案适用于我的 stackoverflow 标准和此查询的其他博客。

谢谢

4

3 回答 3

4

尝试在您的视图页面中包含 jquery 库文件。两周前我遇到了同样的问题,但是当我单独打电话时,我的问题得到了解决。

<?php
Yii::app()->clientScript->registerCoreScript('jquery');
Yii::app()->clientScript->registerCoreScript('jquery.ui');

Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl .'/js/jquery.ui.datepicker.js'); ?>
于 2013-10-22T07:04:33.803 回答
2

您的错误的根源很可能是 jQuery 的noConflict()设置。这是来自Wordpress 函数参考的推理:

WordPress 附带的 jQuery 库设置为noConflict() 模式(请参阅wp-includes/js/jquery/jquery.js)。这是为了防止与 WordPress 可以链接的其他 JavaScript 库的兼容性问题。

noConflict()模式下,jQuery 的全局 $ 快捷方式不可用。

你只需要替换$jQuery你的代码就可以工作了。

尝试这个:

jQuery(document).ready(function() {
  jQuery('.date-picker').datepicker();
});

$或者,如果您在函数中传递它,您可以继续使用,如下所示:

jQuery(document).ready(function($) {
  $('.date-picker').datepicker();
});
于 2013-10-22T06:59:05.993 回答
0

Yii Framework 不要提供默认的 datepicker。您必须使用 datepicker 的任何扩展。

检查yii 框架的 datepicker 扩展。还要检查 Yii 框架中的 jQuery-ui datepicker

于 2013-10-22T07:01:26.370 回答