我在一種形式中有兩個日期選擇器。他們有不同的id,所以這不應該與類似的錯誤,如這一個。 jQuery. Apply selector to every field in a dynamic form一種形式的兩個jQuery UI日期選擇器,'缺少實例數據'
我得到在Firebug的錯誤是 「未捕獲的異常:缺少實例數據,此日期選擇」
當我選擇從「#copyTo」日期選擇器是第二日時被觸發在窗體上的日期選擇器。第一個日期選擇器完美地工作。
形式我是
<form name="copy" action="copyEvents.php" method="post"> <input type="hidden" id="copyFromHid" name="copyFromHid"/> <input type="hidden" id="copyToHid" name="copyToHid"/> Copy From <input id="copyFrom" name="copyFrom"/> Copy To <input type="text" id="copyTo" name="copyTo"/> <input type="hidden" name="gid" id="gid"/> <input type="submit" value="copy"/> </form>
jQuery的是
jQuery('input#copyFrom','div#copyFromHistory form')
.datepicker({
altField: 'input#copyFromHid',
altFormat: 'yy-mm-d',
dateFormat: 'd MM yy',
firstDay: 1,
beforeShowDay: function(date) {
return (date.getDay() == 1) ? [true, ""] : [false, ""]; }
});
jQuery('input#copyTo','div#copyFromHistory form')
.datepicker({
altField: 'input#copyToHid',
altFormat: 'yy-mm-d',
dateFormat: 'd MM yy',
firstDay: 1,
beforeShowDay: function(date) {
return (date.getDay() == 1) ? [true, ""] : [false, ""]; }
});
任何建議,爲什麼第一場會的工作,但不是第二個?
感謝喬納森,不幸的是,這並沒有解決問題。然而,你提出了一些關於context/ownerDocument的評論。我的印象是,這是一個更有效的方法讓jQuery通過傳遞包含元素,然後搜索元素來查找dom中的元素。這是不正確的? – pedalpete 2010-01-22 04:29:25
@pedalpete:上下文參數按照您描述的方式工作......但期望一個DOM元素,而不是一個字符串。例如:'jQuery('input#copyFrom',document.forms [0])'將在第一個表單元素中查找copyFrom輸入。當您的選擇器使用該ID(例如#copyFrom或#copyTo)時,則不需要使用該上下文。該選擇器相當於'document.getElementById('copyFrom')'。還要注意:(引用)「在內部,選擇器上下文是用.find()方法實現的,所以$('span',this)相當於$(this).find('span')。」 (http://api.jquery.com/jQuery/#jQuery1) – 2010-01-22 14:45:05