我在beforeShow
重置_generateHTML
功能擴展在我的代碼的日期選擇器,即$.datepicker._generateHTML = function(a) { .. }
jQuery UI Datepicker的uuid錯誤?
這樣我可以做任何我想要的buttonpanel的按鈕。這是我的示例代碼:http://jsfiddle.net/benno_007/UjFEm/1/。
有時日期選擇器將工作(即點擊日期),有時它不會。這是因爲我的日期選擇器需要1ms以上才能生成,因此uuid超出了一毫秒。 window["DP_jQuery_" + z]
最初設置爲'z',並且'z'是它在整個日期選擇器插件中用於按鈕點擊的。但是,在插件代碼的末尾,它設置了$.datepicker.uuid = new Date().getTime();
,並且由於我擴展了該功能,因此我必須讓$.datepicker.uuid
取代我的DP_jQuery{time}
..但由於生成需要很長時間,所以它關閉了1ms,然後我就可以'不要對日期選擇器做任何事情。
我會通過更換d.datepicker.uuid =(新的日期)來解決這個.getTime()與d.datepicker.uuid = Z在我的本地插件代碼,但我真正的問題是:
這是jQueryUI的datepicker中的錯誤,還是由設計?
在設計上允許在同一頁面上使用多個日期選擇器。你正陷入麻煩,因爲你試圖重寫本來是私有的函數(它開始於下劃線,就像你可能知道一個通用的命名約定)。這不是一個bug,因爲datepicker的作者不希望你搞亂他們的插件的「私人」功能。 – WTK
謝謝,認爲它與此有關。雖然它很奇怪,但當我添加兩個日期選擇器時,它們都具有相同的uuid並單擊第二個將日期放在第一個輸入框中。也許我沒有在那裏做點什麼。 – Benno