Rails 3嵌套表单 – “添加任务”时不会加载jQuery Datepicker

我正在使用ryan bates嵌套forms的gem。 – https://github.com/ryanb/nested_form

在嵌套表单中,我有一个jQuery datepicker的文本字段。

我的问题是当我“添加任务”时。 datepicker没有回应。

仅供参考 – 在我的控制器中,我为嵌套表单生成3次。 所有3个生成的嵌套表单,datepicker工作。 就在我添加新的或(删除并重新添加)时,它不会工作。 – 我的jQuery datepicker脚本在application.js中

看起来很旧,但我主要是为了自己的缘故。

如果您使用ryan Bates rails casts中的代码,那么您已经拥有了帮助程序。 我没有改变那个。 然而,我确实从coffeescript转换为javascript。 我这样做是因为我遇到了一个需要清除的奇怪冲突。 我还做了一些补充。

重要提示:对于此实现,您必须添加一类datepicker。

<%= f.text_field :date_started, class: "datepicker" %> 

我为这个脚本创建了一个资产javascript文件,一旦进入application.js文件,它就会在整个站点上运行。

 $(document).ready(function() { var $j = jQuery.noConflict(); /* Set each input item with class of datepicker to a datepicker */ $("input.datepicker").each(function(){ $(this).datepicker({ dateFormat: 'yy-mm-dd', autoSize: true }); }); var datepicker_update = function() { return $("input.datepicker").datepicker({ dateFormat: 'yy-mm-dd', autoSize: true }); }; $('form').on('click', '.remove_fields', function(event) { $(this).prev('input[type=hidden]').val('1'); $(this).closest('fieldset').hide(); return event.preventDefault(); }); $('form').on('click', '.add_fields', function(event) { var regexp,time; time = new Date().getTime(); regexp = new RegExp($(this).data('id'), 'g'); $(this).before($(this).data('fields').replace(regexp, time)); event.preventDefault(); return datepicker_update(); }); }); 

希望这可以帮助

感谢添加日期选择器到嵌套表单字段的post和rails嵌套表单和Rails 3嵌套表单中的 JQuery UI datepicker – 当“添加任务”时,jQuery Datepicker将不会加载

尝试在创建行之后添加日期选择器插件:

它看起来像这样(函数名称和类名当然会有所不同)

 function addTask() { ...... ...... $("textfield-slector").datepicker(); } 

把它放在视图的顶部:

 = javascript_include_tag 'datepicker'