rails3 jquery datepicker不适用于动态添加的表单字段

时间:2012-10-08 10:44:04

标签: jquery ruby-on-rails datepicker

加载我们的事件编辑页面时,有两个日期字段,其中使用了jquery datepicker,当我点击其中一个字段时,也会出现选择器。

在加载文档时初始化datepicker。

$ ->
  $(':input.date').datepicker(dateFormat: 'dd.mm.yy')

并自动添加“datepicker”类

<input class="span1 date hasDatepicker" id="event_application_opening_at" name="event[application_opening_at]" size="30" type="text">

因为可以在事件中添加其他日期,所以当用户点击“添加日期”链接时,我们会创建其他嵌套日期字段。

虽然正确地将“hasDatepicker”类分配给这些字段,但是datepicker不适用于这些新创建的字段。看起来这是因为datepicker已经初始化了。我尝试应用destroy()函数,然后在整个页面内容上重新初始化datepicker,但这不起作用。

有谁可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

试试这个

 $(":input.date").live("click", function(){
        $(this).datepicker({ 
            dateFormat: 'dd.mm.yy' 
        });
    });

更新

$(":input.date").live("click", function(){
            $(this).datepicker({ 
                dateFormat: 'dd.mm.yy' 
            });
          $(this).datepicker('show');

        });

答案 1 :(得分:0)

hynxnat的答案的替代方法是绑定到用于添加字段的任何代码的“after:insert”事件。如果将datepicker代码添加到该事件,它将确保在动态插入字段后绑定到页面上的字段。

这可以假设您使用类似Cocoon gem的东西来添加额外的字段。