原创作者: hideto
阅读:1176次
评论:0条
更新时间:2011-05-26
这次来看看如何使用JavaScript和RJS来动态添加和删除表单域:
继续上次的例子,我们首先要在layout里引入Prototype.js
然后是新建project的页面模板:
这里add_task_link是我们在projects_helper.rb里添加的一个helper方法:
这里用到RJS的insert_html
然后看看一个partial页面模板_task.rhtml:
这里用到Prototype.js里的up方法查找上一个class为task的div
继续上次的例子,我们首先要在layout里引入Prototype.js
<%= javascript_include_tag :defaults %>
然后是新建project的页面模板:
<div id="tasks"> <%= render :partial => 'task', :collection => @project.tasks %> </div> <p><%= add_task_link "Add a task"%></p>
这里add_task_link是我们在projects_helper.rb里添加的一个helper方法:
def add_task_link(name) link_to_function name do |page| page.insert_html :bottom, :tasks, :partial => 'task', :object => Task.new end end
这里用到RJS的insert_html
然后看看一个partial页面模板_task.rhtml:
<div class="task"> <% fields_for "project[task_attributes][]", task do |task_form| %> <p> Task: <%= task_form.text_field :name %> <%= link_to_function "remove", "this.up('.task').remove()" %> </p> <% end %> </div>
这里用到Prototype.js里的up方法查找上一个class为task的div
评论 共 0 条 请登录后发表评论