感谢您花时间阅读本文。
我正在尝试构建一个接受多个成员的表单。它从3个成员开始,然后有一个javascript按钮,添加一个成员,最多100个成员。我可以弄清楚如何做到的唯一方法是通过硬编码所有表单元素,如下面1..100(我只显示1-4)然后隐藏所有额外的东西。然后javascript按钮只显示下一个元素。有没有办法在javascript中生成表单元素?或者有没有办法使用循环来创建100个硬编码元素?
<tr id="member_1">
<td></td>
<td class="field"><%= text_field(:members, :member_1_name, :value=>@members[:member_1_name]) %></td>
<td class="field"><%= text_field(:members, :member_1_number, :value=>@members[:member_1_number]) %></td>
</tr>
<tr>
<td></td>
<td class="heading">Member Names</td>
<td></td>
</tr>
<tr id="member_2">
<td></td>
<td class="field"><%= text_field(:members, :member_2_name, :value=>@members[:member_2_name]) %></td>
<td class="field"><%= text_field(:members, :member_2_number, :value=>@members[:member_2_number]) %></td>
</tr>
<tr id="member_3">
<td></td>
<td class="field"><%= text_field(:members, :member_3_name, :value=>@members[:member_3_name]) %></td>
<td class="field"><%= text_field(:members, :member_3_number, :value=>@members[:member_3_number]) %></td>
</tr>
<tr id="member_4" style="display:none">
<td></td>
<td class="field"><%= text_field(:members, :member_3_name, :value=>@members[:member_3_name]) %></td>
<td class="field"><%= text_field(:members, :member_3_number, :value=>@members[:member_3_number]) %></td>
</tr>
再次感谢!如果有什么不清楚的话,请告诉我们
答案 0 :(得分:2)
这类功能包含在第196集和第116集中。 197年的RailsCasts
答案 1 :(得分:0)
您应该只创建第一个成员,并在页面上放置带模板的隐藏div。 Javascript按钮应该使用此模板并插入新字段。例如,请参阅:http://embeddedjs.com/