我将两个字段相加在一起以得到总数,但是当我在第一个字段中键入时,总字段显示NaN,而我不需要它。我尝试了5种不同的选项来解决这个问题,但是在函数运行时,似乎没有一个可以删除NaN。
$j(function() {
var new_fees = 0.00;
var referral_fees = 0.00;
$j('#new_fees').keyup(function() {
updateTotal();
});
$j('#referral_fees').keyup(function() {
updateTotal();
});
var net_fees=parseFloat($j('#net_fees').val());
if(isNaN(net_fees)){
net_fees=0;
}
var updateTotal = function () {
new_fees = parseFloat($j('#new_fees').val());
referral_fees = parseFloat($j('#referral_fees').val());
$j('#net_fees').val(new_fees + referral_fees);
var output_total = $j('#net_fees');
var total = new_fees + referral_fees;
output_total.val(total);
};
});这里是琴杆,但是它在我的页面上所做的工作中似乎根本不起作用。
发布于 2016-08-09 10:58:00
我更新了你的"updateTotal“方法,请试试。
var updateTotal = function () {
new_fees = parseFloat($('#new_fees').val());
referral_fees = parseFloat($('#referral_fees').val());
$('#net_fees').val(new_fees + referral_fees);
var output_total = $('#net_fees');
var total = new_fees + referral_fees;
if(isNaN(total)){
total=0;
}
output_total.val(total);
};发布于 2016-08-09 10:59:40
尝尝这个
var new_fees = $("#new_fees").val();
var referral_fees = $("#referral_fees").val();
$('#new_fees').keyup(function() {
updateTotal();
});
$('#referral_fees').keyup(function() {
updateTotal();
});
var updateTotal = function () {
new_fees = parseFloat($('#new_fees').val());
referral_fees = parseFloat($('#referral_fees').val());
if(isNaN(new_fees))
net_fees=0;
if(isNaN(referral_fees))
referral_fees=0;
$('#net_fees').val(new_fees + referral_fees);
var output_total = $('#net_fees');
var total = new_fees + referral_fees;
if(isNaN(total ))
total=0.00;
output_total.val(total);
};<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-xs-12 col-sm-2 nopadding">
<label for="template_range" class="col-xs-11 col-sm-11 col-md-11 col-lg-11 nopadding">New Fees<br><small>(net)</small></label>
<input type="text" class=" col-xs-5 form-control" id="new_fees" placeholder="0.00">
</div>
<div class="col-xs-12 col-sm-2 nopadding">
<label for="template_range" class="col-xs-11 col-sm-11 col-md-11 col-lg-11 nopadding">Referral Fees<br> <small>(net)</small></label>
<input type="text" class="col-xs-5 form-control" id="referral_fees" placeholder="0.00" >
</div>
<div class="col-xs-12 col-sm-2 nopadding">
<label for="template_range" class="col-xs-11 col-sm-11 col-md-11 col-lg-11 nopadding">Total Fees <br><small>(net)</small></label>
<input type="text" class="col-xs-5 form-control" value="0.00" id="net_fees" readonly>
</div>
<div class="col-xs-12 col-sm-2 nopadding">
<label for="template_range" class="col-xs-11 col-sm-11 col-md-11 col-lg-11 nopadding">Total Fees <br><small>(gross)</small></label>
<input type="text" class="col-xs-5 form-control" value="0.00" id="gross_fees" readonly>
</div>
发布于 2016-08-09 11:00:26
如果parseFloat返回NaN,则默认为0。
var updateTotal = function () {
new_fees = parseFloat($j('#new_fees').val()) || 0;
referral_fees = parseFloat($j('#referral_fees').val()) || 0;
$j('#net_fees').val(new_fees + referral_fees);
var output_total = $j('#net_fees');
var total = new_fees + referral_fees;
output_total.val(total);
};https://stackoverflow.com/questions/38848623
复制相似问题