【问题标题】:TypeError: $(...).datepicker is not a functionTypeError: $(...).datepicker 不是函数
【发布时间】:2013-10-22 06:45:26
【问题描述】:

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

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

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

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

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

我在任何地方都搜索过上述错误,但在我的 stackoverflow 和其他博客中针对此查询的条件中没有适用的解决方案。

谢谢

【问题讨论】:

  • datepicker 插件 JS 未包含或路径错误。
  • 你确定你已经包含了日期选择器的库吗?

标签: javascript jquery yii datepicker


【解决方案1】:

尝试在您的视图页面中包含 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'); ?>

【讨论】:

    【解决方案2】:

    错误的根源很可能是 jQuery 的 noConflict() 设置。这是Wordpress Function Reference的推理:

    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();
    });
    

    【讨论】:

    • 我猜这不是真正的问题。
    • 我在这里问这个问题之前已经这样做了。我使用了 noconflict 和 jQuery 而不是“$”,但没有效果 :(
    • 抱歉没用。
    【解决方案3】:

    Yii Framework 不提供默认日期选择器。您必须使用日期选择器的任何扩展。

    检查datepicker extension for yii framework。还要检查 jQuery-ui datepicker in Yii framework

    【讨论】:

      猜你喜欢
      • 2013-08-25
      • 2017-10-13
      • 1970-01-01
      • 2016-09-12
      • 2019-06-16
      • 2015-05-25
      • 2012-03-17
      • 1970-01-01
      • 2020-10-07
      相关资源
      最近更新 更多