[英]Calculation in Javascript returns NaN
我正在嘗試用 Javascript 計算。 但腳本返回 NaN。
我試圖用number
、 parseInt
和parseFloat
轉換數據,但沒有成功。
有人知道我的腳本有什么問題嗎?
這是我的 Javascript
$('[id^=neg_pos]').each( function( i, e) {
var quantity = e.options[e.selectedIndex].value;
if ( quantity==='0') {
} else if ( quantity==='1') {
var num1 = Number(document.getElementsByName('price[]').value);
var num2 = Number(document.getElementsByName('tax[]').value);
var tv1 = num1 + num2;
pos += tv1;
} else {
var num1 = Number(document.getElementsByName('price[]').value);
var num2 = Number(document.getElementsByName('tax[]').value);
var tv1 = num1 + num2;
neg += tv1;
}
document.getElementById('positive').value = pos.toFixed(2);
document.getElementById('negative').value = neg.toFixed(2);
});
文本框price[]
和tax[]
是在 Javascript 中創建的動態文本框。
下面是文本框: 第一個文本框是用 HTML 創建的:
<input type="text" name="price[]" id="price1" onkeypress="return isNumber(event, this)" data-srno="1">
<input type="text" name="tax[]" id="tax1" onkeypress="return isNumber(event, this)" data-srno="1">
其他文本框是在 Javascript 中創建的
$(document).on('click', '#add_row', function(){
count++;
$('#total_item').val(count);
var html_code = '';
html_code += '<input type="text" name="price[]" id="price'+count+'" onkeypress="return isNumber(event, this)" data-srno="'+count+'">';
html_code += '<input type="text" name="tax[]" id="tax'+count+'" onkeypress="return isNumber(event, this)" data-srno="'+count+'">';
$('#test').append(html_code);
});
您應該使用document.getElementById()
代替,如下所示:
var num1 = Number(document.getElementsByName('price[]').value);
var num2 = Number(document.getElementsByName('tax[]').value);
原因是您試圖訪問getElementsByName
返回的數組的value
屬性,該屬性不存在 - 您必須先使用[0]
來訪問元素本身。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.