我需要将一个值与另一个来自输入文本的值相加。

的HTML

<%= f.text_field :hoursclass, id:"txt_hours" %>


JS

$(function() {
  var price = <%= @room.price %>;
  var qtdhours =  parseInt($(':input[id="txt_hours"]').val());
  var total = qtdhours * <%= @room.price %>

  $("#txt_hours").keyup(function() {
    $('#reservation_days').text(qtdhours);
    $('#reservation_sum').text(total);
 });


$('#reservation_sum').text(total);返回NaN

提前TK

最佳答案

在进行计算之前,请检查未定义的值或空白值,并确保@ room.price具有数字值。

$(function() {
  var total=0;
  var price = <%= @room.price %>;
  var qtdhours =  parseInt($(':input[id="txt_hours"]').val());
  if (qtdhours != undefined || qtdhours !='') {
    total = qtdhours * <%= @room.price %>
  }

  $("#txt_hours").keyup(function() {
    $('#reservation_days').text(qtdhours);
    $('#reservation_sum').text(total);
 });

08-08 02:15