我在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