[英]Why Do I keep getting NaN?
這些是我的代碼。 我不知道為什么我會一直得到NaN? 請幫我這個。 我的文本框值來自一個下拉菜單,無論用戶選擇什么,該文本框上都會出現一個相應的值,這就是為什么我使用value=""
的原因,我不知道這是否是我弄錯的部分。 請告訴我如何處理此NaN。
JS
function subtotal(){
var as = $("#as").val();
var txt1 = $('#sff').val();
var txt2 = $('#osf').val();
var d = 0;
var e = 0;
var f = 0;
var g = 0;
var a = parseFloat(as, 10);
var b = parseFloat(txt1, 10);
var c = parseFloat(txt2, 10);
if ($('#cbx3').is(":checked")) {
d = parseFloat($("#cbx3").val(), 10);
}
if ($('#cbx4').is(":checked")) {
e = parseFloat($("#cbx4").val(), 10);
}
if ($('#cbx5').is(":checked")) {
f = parseFloat($("#cbx5").val(), 10);
}
if ($('#cbx6').is(":checked")) {
g = parseFloat($("#cbx6").val(), 10);
}
var total = a + b + c + d + e + f + g;
$('#st').val(total.toFixed(2));
}
function grandtotal(){
var x = document.getElementById("st").value;
var y = document.getElementById("shppng").value;
var sum = parseFloat(x, 10)+ parseFloat(y, 10);
$("#gt").val(sum.toFixed(2));
HTML
<input type="text" id="sff" placeholder="$0.00" value="" style="float:left;"/>
<input type="text" id="osf" placeholder="$0.00" value="" style="float:left;"/>
<select id="as" style="margin: 3px 0 0 55px; width:48%; position: absolute; float: left;">
<option value="99.00">$99.00/</option>
<option value="178.20">$178.20</option>
<option value="241.56">$241.56</option>
<option value="292.24">$292.24</option>
<option value="332.80">$332.80</option>
</select>
<input type="checkbox" id="cbx4" value="69.00"/>
<input type="checkbox" id="cbx5" value="35.00"/>
input type="checkbox" id="cbx6" value="39.00"/>
指定默認值。
<input type="text" id="sff" placeholder="$0.00" value="0" style="float:left;"/>
<input type="text" id="osf" placeholder="$0.00" value="0" style="float:left;"/>
a
, b
或c
的值可以為空,因此
function subtotal() { var as = $("#as").val(); var txt1 = $('#sff').val(); var txt2 = $('#osf').val(); var d = 0; var e = 0; var f = 0; var g = 0; var a = parseFloat(as, 10) || 0; var b = parseFloat(txt1, 10) || 0; var c = parseFloat(txt2, 10) || 0; if ($('#cbx3').is(":checked")) { d = parseFloat($("#cbx3").val(), 10); } if ($('#cbx4').is(":checked")) { e = parseFloat($("#cbx4").val(), 10); } if ($('#cbx5').is(":checked")) { f = parseFloat($("#cbx5").val(), 10); } if ($('#cbx6').is(":checked")) { g = parseFloat($("#cbx6").val(), 10); } var total = a + b + c + d + e + f + g; $('#st').val(total.toFixed(2)); } function grandtotal() { var x = document.getElementById("st").value; var y = document.getElementById("shppng").value; var sum = parseFloat(x, 10) + parseFloat(y, 10); $("#gt").val(sum.toFixed(2)); }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <input type="text" id="sff" placeholder="$0.00" value="" style="float:left;" /> <input type="text" id="osf" placeholder="$0.00" value="" style="float:left;" /> <select id="as"> <option value="99.00">$99.00/</option> <option value="178.20">$178.20</option> <option value="241.56">$241.56</option> <option value="292.24">$292.24</option> <option value="332.80">$332.80</option> </select> <input type="checkbox" id="cbx4" value="69.00" /> <input type="checkbox" id="cbx5" value="35.00" /> <input type="checkbox" id="cbx6" value="39.00" /> <br /> <input id="st" /> <input id="gt" /> <br /> <input type="button" value="Total" onclick="subtotal(); grandtotal();" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.