【发布时间】:2019-08-02 18:21:15
【问题描述】:
我有一个 ruby on rails 应用程序,它显示了一个每 15 秒刷新一次其内容的表格。我按照这篇文章列出的步骤进行操作。
How To refresh a table in a Ruby on Rails view when there are new record to show automatically
对于表中的每一行,我都有一些输入字段,它们接受数字值并显示该数字的函数的输出。我将此事件设置为 onkeyup,因此它有点像 Excel 电子表格。 我不希望每次刷新表格内容时重置这些输入字段中的值。我想知道是否有某种方法可以在每次表刷新后保存这些值,或者让我的 javascript 专门不重新渲染输入元素。
这是我的部分 _match_table.html.erb
<% @data.each_with_index do |data, i| %>
<% data.match_datetime == nil ? past = false : past = data.match_datetime.past? %>
<tr id="<%= i %>_tr" class="larger_tr <%= 'danger' if past == true %>">
<td scope="row"><%= i %></td>
<td><%= data.team1 %></td>
<td><%= data.team2 %></td>
<td id="<%= i %>_ah_odds1" rowspan="5"><%= data.ah_odds1 %></td>
<td rowspan="5"><%= data.ah %></td>
<td id="<%= i %>_ah_odds2" rowspan="5"><%= data.ah_odds2 %></td>
<td rowspan="5"><%= data.ou %></td>
<td id="<%= i %>_ou_odds1" rowspan="5"><%= data.ou_odds1 %></td>
<td id="<%= i %>_ou_odds2" rowspan="5"><%= data.ou_odds2 %></td>
<td rowspan="5"><% if data.match_datetime != nil %>
<%= local_time(data.match_datetime) %><br>
<% if past %>Match Ended
<% else %>
Time remaining:
<% diff = (data.match_datetime - Time.now) %>
<% time_left = diff.to_i %>
<% if time_left < 3600 %>
<%= time_left/60 %> minutes
<% elsif time_left < 86400 %>
<%= time_left/3600 %> hours
<% else %>
<%= time_left/86400 %> days
<% end %>
<% end %>
<% end %>
</td>
</tr>
<% if data.match_datetime != nil %>
<tr class="smaller_tr warning">
<td>AH returns</td>
<td><input class="mytext form-control" id="<%= i %>_ah_team1" type="number"></td>
<td><input class="mytext form-control" id="<%= i %>_ah_team2" type="number"></td>
</tr>
<tr class="smaller_tr">
<td>amount</td>
<td><b id="<%= i %>_ah_am1"></b></td>
<td><b id="<%= i %>_ah_am2"></b></td>
</tr>
<tr class="smaller_tr warning">
<td>OU returns</td>
<td><input class="mytext form-control" id="<%= i %>_ou_team1" type="number"></td>
<td><input class="mytext form-control" id="<%= i %>_ou_team2" type="number"></td>
</tr>
<tr class="smaller_tr">
<td>amount</td>
<td><b id="<%= i %>_ou_am1"></b></td>
<td><b id="<%= i %>_ou_am2"></b></td>
</tr>
<% end %>
<% end %>
【问题讨论】:
标签: jquery ruby-on-rails ruby