Javascript总返回数NaN为4位数字num

Javascript总返回数NaN为4位数字num,javascript,php,jquery,html,codeigniter,Javascript,Php,Jquery,Html,Codeigniter,下面是计算物品价格的javascript,问题是 当价格为4位时,返回的值为NaN 这是我隐藏的价格字段: <input type="hidden" name="price" id="price"class="price" value="4500"readonly > 这是我的数量字段 <input type="number" name="quant" id="quant" value="2" /> 这是我的运费 <select id="shipmen

下面是计算物品价格的javascript,问题是 当价格为4位时,返回的值为NaN

这是我隐藏的价格字段:

<input type="hidden" name="price" id="price"class="price" value="4500"readonly >

这是我的数量字段

<input type="number" name="quant" id="quant" value="2" />

这是我的运费

<select  id="shipment" onchange="myFunction3()" name="shipment2" disabled>

<option value="100" data-quantity="1">1 for 100 pesos </option>
</select

100比索1英镑

不确定此处是否键入错误,但问题区域附近出现语法错误(缺少右括号):

$('#demo').val($('#price').val() * $('#quant').val() ;
应该是:

$('#demo').val($('#price').val() * $('#quant').val());
我认为在对字符串进行数学运算之前,最好确保您没有使用字符串:

var price = parseInt($('#price').val(), 10);
var quantity = parseInt($('#quant').val(), 10);

$('#demo').val(price * quantity);
在使用它们之前,您可以更进一步,确保它们都不是NaN:

var price = parseInt($('#price').val(), 10);
var quantity = parseInt($('#quant').val(), 10);

if(!isNaN(price) && !isNaN(quantity)) {
  $('#demo').val(price * quantity);
} else {
  alert('Please enter numbers only!');
}

返回的值
-在何处返回的值?注意:这是jquery和普通javascript的真正混淆——为什么会有这样的混搭?始终使用jQuery风格的代码,或者永远不要使用它,对于您发布的代码来说没有什么意义,因为这两种代码的混合(在我看来)对我来说都很有用-如果您要使用jQuery,请使用
.on('input')
事件方法。它比
键控
绑定更加健壮。
如果(+myFunction3()==“”)
非常奇怪……它将空字符串转换为
0
,然后与空字符串进行比较,从而生成
true
。为什么不删除该
+
或与
0
进行比较?
$('#demo').val($('#price').val() * $('#quant').val());
var price = parseInt($('#price').val(), 10);
var quantity = parseInt($('#quant').val(), 10);

$('#demo').val(price * quantity);
var price = parseInt($('#price').val(), 10);
var quantity = parseInt($('#quant').val(), 10);

if(!isNaN(price) && !isNaN(quantity)) {
  $('#demo').val(price * quantity);
} else {
  alert('Please enter numbers only!');
}