我使用的是JQuery UI datepicker,但不是將日期選擇器附加到input[type=text]
元素,而是將它附加到input[type=hidden]
元素。爲了激活datepicker,我在UI上使用了一個遠程按鈕,它不是datepicker所連接的輸入元素的同級。通過遠程激活JQuery UI日期選擇器按鈕
爲了顯示日期選擇器,我使用的是點擊事件,其執行該代碼
$('input.trial_end_date').datepicker('show');
這工作,以顯示日期選擇器,但每當我點擊一個日期,我得到一個未捕獲的JavaScript異常:
Uncaught Missing instance data for this datepicker jquery-ui-1.10.1.custom.min.js:6
e.extend._getInst jquery-ui-1.10.1.custom.min.js:6
e.extend._selectDay jquery-ui-1.10.1.custom.min.js:6
t.selectDay jquery-ui-1.10.1.custom.min.js:6
v.event.dispatch localhost.local/:5
o.handle.u localhost.local/:5
但是,如果我改變input[type=hidden]
到input[type=text]
允許當輸入要素集中的日期選擇器顯示,所有點擊事件觸發沒有任何問題(直到我通過按鈕激活日期選擇器,然後他們一個無論日期選擇器被激活的方式都會失敗)。
是否有更可靠的方式來激活日期選擇器通過遠程按鈕並隱藏日期的輸入元素?我不確定爲什麼會拋出這個異常。
下面是一個不在JSFiddle中工作的示例。雖然,例外情況並不相同。經過進一步研究,我似乎找到了原因,我將在下面的答案中加入。
您可以在[JSFiddle](http://jsfiddle.net/)中複製此問題嗎? – musefan
爲存檔目的添加了一個JSFiddle鏈接 –