Javascript Rails:输入后,显示差异
我是新手 我有一个表单,用户将以表格的形式输入许多结果,我希望它能够在移动到下一个输入时显示预期结果和输入结果之间的差异 因此,我正在寻找一些更新后触发器来触发js/ajax,但我无法将其组合在一起 我希望@range1_af_ecc.required与实际输入之间的差异显示在实际输入后的列中Javascript Rails:输入后,显示差异,javascript,ruby-on-rails,ajax,Javascript,Ruby On Rails,Ajax,我是新手 我有一个表单,用户将以表格的形式输入许多结果,我希望它能够在移动到下一个输入时显示预期结果和输入结果之间的差异 因此,我正在寻找一些更新后触发器来触发js/ajax,但我无法将其组合在一起 我希望@range1_af_ecc.required与实际输入之间的差异显示在实际输入后的列中 <%= form_tag update_calibration_results_customer_asset_calibration_header_calibration_results_path(
<%= form_tag update_calibration_results_customer_asset_calibration_header_calibration_results_path(@customer.id,@asset.id,@calibration_header.id), method: :put do %>
<div class="table-responsive">
<table class="table table-hover table-sm table-responsive-sm word-break: break-all">
<thead>
<tr>
<th>Sequence</th>
<th>Actual</th>
<th>Difference</th>
</tr>
</thead>
<% @range1_asfound_eccentricity.each do |range1_af_ecc| %>
<tr>
<%= fields_for "range1_af_eccs[]", range1_af_ecc do |f| %>
<td><%= range1_af_ecc.sequence %></td>
<td><%= f.number_field :actual, step: :any %></td>
<td> DIFFERENCE TO GO HERE </td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
<%= submit_tag "Save" %>
<% end %>
序列
真实的
差别
去这里有什么不同
任何帮助都将不胜感激。您可以使用jquery
blur
event
当元素失去焦点时调用模糊事件
$(".class-of-input-where-user-enters-value").blur(function(){
var input = $(this)
var val = input.val()
var row = input.parents('tr').eq(0)
$.ajax({
url: "/url",
data: { value: val }
}).done(function( response ) {
row.find(".class-of-element-where-difference-goes").text(response)
});
// or you can run some JS code here to calculate difference
})
谢谢,你能给我指一下正确的方向吗。如何提取第1行
,我尝试了`$('table td:eq(0)`但似乎不起作用。$('table tr”).each(function(){$(this).find(“td:first”).html()}
当我使用var req=$('table tr')。each(function(){$(this.find(“td:first”).html())它返回[object object object object]
我做错了什么?在每个
函数中,您可以首先访问td
,$(此)。查找(“td:first”)
为表中的每一行提供第一个td
。如果您希望表中的第一个td然后$(“表td:first”)
。如果这是一个每个函数(一个循环?),那么我将如何将其与前面的模糊函数相结合?如果我将blur
函数放在每个
函数中,它不会触发,是吗?