Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Rails:输入后,显示差异_Javascript_Ruby On Rails_Ajax - Fatal编程技术网

Javascript Rails:输入后,显示差异

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(

我是新手

我有一个表单,用户将以表格的形式输入许多结果,我希望它能够在移动到下一个输入时显示预期结果和输入结果之间的差异

因此,我正在寻找一些更新后触发器来触发js/ajax,但我无法将其组合在一起

我希望@range1_af_ecc.required与实际输入之间的差异显示在实际输入后的列中

<%= 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
函数放在
每个
函数中,它不会触发,是吗?