在项目表单中,用户可以克隆任何特定任务 - 这工作正常。我现在需要用新的时间戳替换复制的任务的索引ID(这是一个时间戳)。我目前的代码只替换了一个div。
如何使用时间戳替换所有表单输入/标签字段ID?我现在做一个find()然后替换。
任何想法都非常感谢!
$(function() {
$('form').on('click', '.clone-task', function(event) {
event.preventDefault();
var time = new Date().getTime();
var taskCopy = $(this).parents(".dupForm").clone();
$("#dupTask").append(workoutCopy);
var attributes = taskCopy.find('input').attr('name').replace(/\[\d+]/g, time);
alert(attributes);
});
});
任务表格(ruby-on-rails):
<fieldset>
<div class="field">
<b><%= f.label :name, "Major Task" %></b> |
<%= f.text_field :name, :placeholder => "task name" %>
<%= f.hidden_field :_destroy %>
<%= link_to "remove", '#', class: "remove_fields" %>
</div>
<div class="field">
<%= f.label :time_start, "Scheduled Time" %><br />
<%= f.time_select :time_start, {:ampm => true, :minute_step => 15} %>
</div>
<div class="field">
<%= f.label :task_duration, "Task Duration(mins)" %>
<%= f.number_field :task_duration, size: 3 %>
</div>
<b>Add Supporting Actions to Your Task</b>
<%= f.fields_for :activities do |builder| -%>
<%= render 'activity_fields', f: builder %>
<% end %>
</div>
<%= link_to_add_fields "Add Action", f, :activities %>
</fieldset>
答案 0 :(得分:0)
jQuery attr()
方法允许您使用函数作为参数,该函数将充当处理所有匹配元素的循环。
taskCopy.find('input').attr('name', function( idx, name){
return name.replace(/\[\d+]/g, time);
});