未捕获的TypeError:无法调用null的方法'datepicker'

时间:2013-04-21 13:50:39

标签: jquery jquery-ui jquery-ui-datepicker

内联javascript。它应该是 js冲突问题,因为所有javascripts都可以单独使用。 source page

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

感谢您关于两次调用脚本的输入。这可能会导致问题。 我通过重命名$ variable来解决这个问题,以避免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>

这对我有用!