发送 html table 同名数据
Send html table data has same name
我的 table 显示两列,“#”和 "String"。我制作了 table,每个 td 的值都通过 text_field 显示,因此用户可以更改值并提交更改。
问题是如何用表单发送所有值,因为每个 td 都有相同的 ID 和名称,所以只发送最后一个 td。
如何发送所有的 td 值?
table:
<%= form_for(@skein) do |s| %>
<table width="100%" class="tablesorter">
<thead>
<tr>
<th width="20%" data-placeholder="Search">#</th>
<th width="80%" data-placeholder="Search">String</th>
</tr>
</thead>
<tbody>
<% @split_order_content.zip(@split_content).each do |number, string| %>
<tr>
<td><%= s.text_field :string_id_bk, :value => number %></td>
<td><%= s.text_field :string_id, :value => string %></td>
</tr>
<% end %>
</tbody>
</table>
<%= s.submit "Save String File", id: "commit", class: "btn btn-lg btn-primary" %>
HTML 待渲染:
<td><input value="Ende"" type="text" name="skein[string_id]" id="skein_string_id"></td>
注意名称和 ID 如何相同,导致数据覆盖仅发送最后一个数据的数据。
table 有数千条记录。我不能将每个 td 作为属性参数发送,参数应该是一个长数组。
为文本字段提供唯一 ID,如下所示
<% @split_order_content.zip(@split_content).each do |number, string| %>
<tr>
<td><%= s.text_field :string_id_bk, :value => number ,:input_html => { :id => '#{s.id}'+'bk' } %></td>
<td><%= s.text_field :string_id, :value => string ,:input_html => { :id => s.id }%></td>
</tr>
<% end %>
希望对你有所帮助
试试这个
<% @split_order_content.zip(@split_content).each do |number, string| %>
<tr>
<td> <%= text_field_tag 'string_id_bk[]', number %> </td>
<td> <%= text_field_tag 'string_id []', string %> </td>
</tr>
<% end %>
我的 table 显示两列,“#”和 "String"。我制作了 table,每个 td 的值都通过 text_field 显示,因此用户可以更改值并提交更改。
问题是如何用表单发送所有值,因为每个 td 都有相同的 ID 和名称,所以只发送最后一个 td。
如何发送所有的 td 值?
table:
<%= form_for(@skein) do |s| %>
<table width="100%" class="tablesorter">
<thead>
<tr>
<th width="20%" data-placeholder="Search">#</th>
<th width="80%" data-placeholder="Search">String</th>
</tr>
</thead>
<tbody>
<% @split_order_content.zip(@split_content).each do |number, string| %>
<tr>
<td><%= s.text_field :string_id_bk, :value => number %></td>
<td><%= s.text_field :string_id, :value => string %></td>
</tr>
<% end %>
</tbody>
</table>
<%= s.submit "Save String File", id: "commit", class: "btn btn-lg btn-primary" %>
HTML 待渲染:
<td><input value="Ende"" type="text" name="skein[string_id]" id="skein_string_id"></td>
注意名称和 ID 如何相同,导致数据覆盖仅发送最后一个数据的数据。
table 有数千条记录。我不能将每个 td 作为属性参数发送,参数应该是一个长数组。
为文本字段提供唯一 ID,如下所示
<% @split_order_content.zip(@split_content).each do |number, string| %>
<tr>
<td><%= s.text_field :string_id_bk, :value => number ,:input_html => { :id => '#{s.id}'+'bk' } %></td>
<td><%= s.text_field :string_id, :value => string ,:input_html => { :id => s.id }%></td>
</tr>
<% end %>
希望对你有所帮助
试试这个
<% @split_order_content.zip(@split_content).each do |number, string| %>
<tr>
<td> <%= text_field_tag 'string_id_bk[]', number %> </td>
<td> <%= text_field_tag 'string_id []', string %> </td>
</tr>
<% end %>