2013-04-21 106 views
1

內聯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); 
    }); 
}); 
+0

您有兩個對jQuery的引用。刪除第二個參考。 (http://www.rentbudapestapartments.com/wp-includes/js/jquery/jquery.js?ver=1.8.3) – 2013-04-21 13:53:24

+0

它不起作用。我的問題我也使用了使用$變量的原型庫。我想覆蓋上面這個短代碼的$變量。這個怎麼做? – Olasz 2013-04-21 16:08:21

+3

你應該看看[jQuery.noConflict()](http://api.jquery.com/jQuery.noConflict/)。 – excentris 2013-04-21 17:11:16

回答

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

+0

我將j $替換爲建議並刪除的第36行,但仍然不起作用 – Olasz 2013-04-21 14:30:32

0

感謝您提供有關腳本調用兩次的輸入。這可能會導致問題。 我解決了這個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> 

這適用於我!

相關問題