首次加载后,ajax内容的jquery datepicker失败

时间:2010-02-10 21:19:58

标签: jquery ajax datepicker modal-dialog

我有一个生成模态对话框的脚本,在其中,我想放一个jquery ui datepicker。我目前正在使用以下代码:

$('#datepicker').live('click', function() {
  $(this).datepicker({showOn:'both'}).focus();
});

在我第一次打开对话框并单击分配了'datepicker'id的输入框时,哪个工作正常。

问题是,在我关闭该对话框(从DOM中删除其标记)并重新打开它之后,datepicker不再有效。

我已经尝试在关闭对话框时调用$('#datepicker')。die(),然后在重新打开时重新绑定到#datepicker输入,但这似乎也不起作用。

我真的很难过这个。任何见解将不胜感激。

3 个答案:

答案 0 :(得分:1)

这对我今天有所帮助。 我有同样的问题。我在对话框中通过它的id重新初始化相同的元素。第一次,我把它对话起来了。此后它不会。所以,只需给元素一个datepicker后执行$(".datepicker").datepicker()的类,每次重新打开对话框时都会修复问题。

请记住将此类放在样式表中,即:。

.datepicker {}

答案 1 :(得分:0)

我的猜测是从DOM中删除触发元素是你的问题。为什么不只是hide您的模态窗口,然后在需要时show呢?我相信这会解决你的问题。

答案 2 :(得分:0)

事实证明,使用类而不是ID(即'.datepicker'而不是'#datepicker')修复了这个问题,即使DOM上只出现过#datepicker。

即使这样,只有在附加了.datepicker类的另一个隐藏输入时它才有效。

所以这是修复它的两种建议的组合。

感谢你们两位的帮助!