javascript 中的 NaN 在使用文本输入字段求和时出现

NaN in javascript showing up when using a text input field to sum

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

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); returns NaN

提前致谢

计算前检查未定义值或空白值,同时确保@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);
 });