未捕获的ReferenceError:$未定义 - Datepicker - Codeigniter 3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了未捕获的ReferenceError:$未定义 - Datepicker - Codeigniter 3相关的知识,希望对你有一定的参考价值。

问候!

首先,非常感谢你的帮助!

场景:

1°我使用codeigniter

2°我在我的VIEW文件中添加了这个非常简单的脚本。

(Qazxswpoi)

3°这是我在浏览器中收到的错误消息:

https://jqueryui.com/datepicker/#default

这是我的控制器方法:

Uncaught ReferenceError: $ is not defined at VM113 info:21
(anonymous) @ VM113 info:21

这是我的Header VIEW文件:header1

public function info()
{
    $data['pagetitle'] = 'general use';

    $this->load->view('theme/header1');
    $this->load->view('multiform/register2',$data);
    $this->load->view('theme/footer');
}

这是我的VIEW文件:register2

<!DOCTYPE html>
<html lang="en">
<head>  
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">

<title>Teste</title>

<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/testelib/jquery-ui.min.css">   

<script type="text/javascript" defer src="<?php echo base_url(); ?>assets/testelib/jquery-3.3.1.min.js"></script>

<script type="text/javascript" defer src="<?php echo base_url(); ?>assets/testelib/jquery-ui.js"></script>

<script>

    $( "#datepicker" ).datepicker({
    inline: true
    });
</script>

PS:如果我使用“同一文件夹中的所有文件”来创建此示例,则脚本正常工作。

仅仅因为Jquery库的.js和.css链接在单独的文件中,我就遇到了这种冲突。

我该怎么办?

非常感谢你提前。

答案

包括此脚本以包含jquery:

<p>Date: <input type="text" id="datepicker"></p>

由于jquery未包含在脚本中,因此未定义$ symbol

另一答案

,伙计们,非常感谢你们的帮助和关注。经过4天的痛苦之后,我找到了一个帖子给了我一个指导回答的方法。

@TimBrownlaw的答案给了我一个亮点。 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

这些链接格式之间存在兼容性:

jquery javascript doesnt work in codeigniter

这个链接格式:

<?php echo base_url(); ?>assets/lib/jquery-3.3.1.min.js">

但我想,直到今天我已经犯了这个错误,即使我已经阅读了整个C.I文档。

文档公开说明,使用base_url如下:

1°echo base_url(“blog / post / 123”);

2°echo base_url(“images / icons / edit.png”);

<?php echo base_url("assets/lib/jquery-3.3.1.min.js"); ?>"

base_url,带控制器名称,方法和参数INSIDE(括号)和NOT OUTSIDE。

另一个问题是元素的“延迟”属性。这意味着在所有其他html加载之后,jQuery才会加载。

但是一旦加载视图,这段代码就会尝试运行。

https://www.codeigniter.com/user_guide/helpers/url_helper.html#base_url

当然,它失败了 - jQuery还没有加载,所以$没有定义。

我从标签中删除了“defer”attr并运行!

好吧,就是这样!非常感谢大家!有用!

以上是关于未捕获的ReferenceError:$未定义 - Datepicker - Codeigniter 3的主要内容,如果未能解决你的问题,请参考以下文章

未捕获的 ReferenceError:未定义 showCategory

未捕获的 ReferenceError:“$ 未定义”[重复]

PhoneGap 错误 - “未捕获的 ReferenceError:cordova 未定义”

未捕获的 ReferenceError:$ 未定义 [重复]

未捕获的 ReferenceError:未定义窗口

未捕获的 ReferenceError:未定义 url