2012-05-07 75 views
0

我的組織有一個由多個應用程序共享的標準jQuery/JavaScript框架。在此框架下,我們制定了一個基本的標準,可以用動態加載元素消耗jQuery的日期選擇器功能:

$(document).delegate("input.calendar", "click, focus", function() { 
    myAppDatepicker = $(this).datepicker({ 
     changeYear: true, 
     dateFormat: "yy-mm-dd" 
    }); 
}); 

我想這樣做:

$(document).delegate("input.calendar", "click, focus", function() { 
    myAppDatepicker.datepicker("option", "maxDate", 0); 
}); 

添加額外的選項到日期選擇器。此方法不起作用 - 我猜想,因爲第二個委託偵聽器正在從第一個偵聽器中取代處理程序,我想追加其他選項。

目前,這會引發「myAppDatepicker未定義」錯誤。

我可以通過Firebug中的$ .bind來做到這一點,但它不適用於動態加載的元素。有關如何使這個工作對付DOM中不存在的元素的任何想法?

回答

0

更改:

$(document).delegate("input.calendar", "click, focus", function() { 
    **myAppDatepicker**.datepicker("option", "maxDate", 0); 
}); 

$(document).delegate("input.calendar", "click, focus", function() { 
    **$(this)**.datepicker("option", "maxDate", 0); 
}); 

預期追加附加選項。

相關問題