我发现堆栈溢出的答案很少,但仍然无法解决我的问题。 我在Django上运行,但我不认为它与此错误有关。
我尝试将工作作为日期选择器java脚本,但我收到错误
1:27 Uncaught TypeError:$(...)。datepicker不是函数(匿名函数)@ 1:27fire @jquery-1.9.1.js:1037self.fireWith @jquery-1.9.1.js: 1148jQuery.extend.ready @jquery-1.9.1.js:433completed @ jquery-1.9.1.js:103 jquery-2.1.0.min.js:4 XHR完成加载:POST“https://localhost:26143/skypectoc/v1/pnr/parse”。l.cors.a.crossDomain.send @jquery-2.1.0.min.js:4o.extend.ajax @ jquery-2.1.0.min.js:4PNR.findNumbers @ pnr.js:43parseContent @ contentscript.js:385processMutatedElements @ contentscript.js:322
这是我的所有剧本:
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.dateinput').datepicker({ format: "yyyy/mm/dd" });
});
</script>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
<script src="http://getbootstrap.com/dist/js/bootstrap.min.js"></script>
<!-- Just to make our placeholder images work. Don't actually copy the next line! -->
<script src="http://getbootstrap.com/assets/js/vendor/holder.min.js"></script>
<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="http://getbootstrap.com/assets/js/ie10-viewport-bug-workaround.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#extra-content").hide();
$("#toggle-content").click(function(){
$("#extra-content").toggle();
});
});
</script>
任何反馈都将非常感激
答案 0 :(得分:52)
第一次包含jQuery时:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
第二个脚本将自身插入jQuery,并“添加”$(...).datepicker
。
但是你再次包括jQuery:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
它解除了插入,因此$(...).datepicker
变得未定义。
虽然在此之前出现了第一个$(document).ready
块,但是在加载所有脚本之前不执行匿名回调函数体,然后$(...)
(准确地说window.$
)正在引用到最近加载的jQuery。
如果您立即调用$('.dateinput').datepicker
而不是$(document).ready
回调,则不会遇到此问题,但是您需要确保目标元素(类dateinput
)已经在脚本之前的文档中,并且通常建议使用ready
回调。
如果你想使用jquery-ui中的datepicker
,那么在引导程序之后包含jquery-ui脚本可能是最有意义的。 jquery-ui 1.11.4与jquery 1.6+兼容,因此它可以正常工作。
或者(特别是如果您不使用jquery-ui进行其他任何操作),您可以尝试bootstrap-datepicker。
答案 1 :(得分:0)
您只需要添加三个文件和两个css链接。你也可以cdn's。 js文件和css文件的链接如下: -
如果您在项目中使用bootstrap,它们是有效的。
我希望这会对你有所帮助。 问候, Vivek Singla
答案 2 :(得分:0)
错误是因为您在两个地方包含脚本链接,这些链接将执行日期选择器的覆盖和重新初始化
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.dateinput').datepicker({ format: "yyyy/mm/dd" });
});
</script>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
&#13;
因此,请排除 src =&#34; https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"
或 的 SRC =&#34; HTTP://code.jquery.com/ui/1.11.0/jquery-ui.js" 强>
它会起作用..
答案 3 :(得分:0)
包含多个对Jquery库的引用是导致错误的原因仅包含对Jquery库的一个引用即可解决此问题
答案 4 :(得分:0)
如果您使用的是ASP.NET MVC
打开布局文件“ _ Layout.cshtml” 或您的自定义文件
在代码部分,如下所示:
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
@Scripts.Render("~/bundles/jquery")
删除行“ @ Scripts.Render(“〜/ bundles / jquery”)“
(在您看到的代码的一部分)作为最新行,如下所示:
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
这对我有帮助,希望对您也有帮助。
答案 5 :(得分:-3)
发生此错误,因为未定义该功能。 在我的情况下,我调用了datepicker函数,但没有包含datepicker js文件,那时我得到了这个错误。