未捕获的TypeError:无法调用null的方法'datepicker'
问题描述:
内联javascript。它应该是一个JS冲突问题因为所有的JavaScripts工作,如果分开。 source page未捕获的TypeError:无法调用null的方法'datepicker'
$(function() {
$("input.datepicker").datepicker({
minDate: "today",
dateFormat: 'dd/mm/yy'
});
});
$(document).ready(function() {
$("input#leaving ").change(function() {
var d = j$(this).val();
if (d) $("input#arriving ").datepicker("option ", "minDate ", d);
});
});
答
jQuery是包含两次:
首先,在管线36中的源:
36: <script type='text/javascript' src='http://www.rentbudapestapartments.com/wp-includes/js/jquery/jquery.js?ver=1.8.3'></script>
在源线58第二:
58: <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
第二是可能从您借用的模板或从WordPress自动获取。如果你有控制权,我会放弃第36行的第一个。
同样在这条线
var d = j$(this).val();
是什么j$
?这可能应该是$(this).val()
+0
我将j $替换为建议并删除的第36行,但仍然不起作用 – Olasz 2013-04-21 14:30:32
答
感谢您提供有关脚本调用两次的输入。这可能会导致问题。 我解决了这个CAS由重命名$变量,以避免js冲突。
<script>
var abc = $;
$(function() {
abc("input.datepicker").datepicker({minDate:"today", dateFormat: 'dd/mm/yy'});
});
</script>
<script type="text/javascript">
var abc = $;
$(document).ready(function()
{
abc("input#leaving").change(function()
{
var d = abc(this).val();
if(d)abc("input#arriving").datepicker("option","minDate",d);
}
);
});
</script>
这适用于我!
您有两个对jQuery的引用。删除第二个参考。 (http://www.rentbudapestapartments.com/wp-includes/js/jquery/jquery.js?ver=1.8.3) – 2013-04-21 13:53:24
它不起作用。我的问题我也使用了使用$变量的原型库。我想覆盖上面这个短代码的$变量。这个怎么做? – Olasz 2013-04-21 16:08:21
你应该看看[jQuery.noConflict()](http://api.jquery.com/jQuery.noConflict/)。 – excentris 2013-04-21 17:11:16