2012-06-22 31 views
1

load.js:JQuery的:類型錯誤:對象[對象的對象]無方法 '日期選擇器'

jQuery(document).ready(function($) { 
    $('.dialog ul li').click(function(e) { 
     switch($(this).attr('id')) { 
     case 'addProject': 
      $('.addDialog').load('/add/addprojectform'); 
      break; 
     case 'addTask': 
      $('.addDialog').load('/add/addtaskform'); 
      $('#dueDate').datePicker(); 
      break; 
     } 
    }); 
}); 

而且這是在報頭中:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script> 
<script type="text/javascript"> 
$.noConflict(); 
</script> 
<script src="js/utils.js"></script> 
<script src="js/load.js"></script> 

我得到的錯誤是:

Uncaught TypeError: Object [object Object] has no method 'datePicker' load.js:10 
(anonymous function) load.js:10 
f.event.dispatch jquery.min.js:3 
f.event.add.h.handle.i jquery.min.js:3 

我嘗試了幾種方法來解決它,但仍然存在錯誤。這是什麼原因導致錯誤?謝謝

+0

是'#duedate'你用前面的ajax調用檢索的元素嗎? – fcalderan

+0

@ F.Calderan是 – Andrew

回答

1

由於load執行異步調用Ajax元素#duedate是,你必須等待通話結束使用應用於該元素

由於任何AJAX方法的方法jQuery的返回前的資源內Deferred對象可以繼續執行代碼裏面done()回調

$('.addDialog').load('/add/addtaskform').done(function() { 
    $('#dueDate').datePicker(); 
}); 

,或者使用一個簡單的成功回調

$('.addDialog').load('/add/addtaskform', function() { 
    $('#dueDate').datePicker(); 
}); 
+0

Uncaught TypeError:Object [object Object] has no method'done' – Andrew

+0

它使用的版本是1.7.2 – Andrew

+0

嘗試第二種方法 – fcalderan

相關問題