2011-10-06 66 views
2

我在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中的错误,还是由设计?

+1

在设计上允许在同一页面上使用多个日期选择器。你正陷入麻烦,因为你试图重写本来是私有的函数(它开始于下划线,就像你可能知道一个通​​用的命名约定)。这不是一个bug,因为datepicker的作者不希望你搞乱他们的插件的“私人”功能。 – WTK

+0

谢谢,认为它与此有关。虽然它很奇怪,但当我添加两个日期选择器时,它们都具有相同的uuid并单击第二个将日期放在第一个输入框中。也许我没有在那里做点什么。 – Benno

回答

0

根据WTK,它是由设计(而不是一个错误)。

只是想我会关闭这个职位。