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'