我正在构建一个简单的计算器,客户可以在其中将信用添加到他们的帐户中,除了以下错误之外,一切正常。
错误:当您输入一个值时,一切都很好,如果您单击离开然后单击返回以编辑并删除您获得 NaN 的值,我希望它默认为 0.00 而不是显示 NaN
随意查看 JS 并优化你可以的地方,因为我只是一起屠杀了这个。
HTML:
Credit:
<span id="price01" class="price">£1000.00</span><br/>
Add: <input type="text" id="pricetoadd" placeholder="0.00" name="price02" class="price">
Total: <span class="total"></span>
JS:
$.fn.sumValues = function() {
var sum = 0;
this.each(function() {
if ( $(this).is(':input') ) {
var val = $(this).val();
} else {
var val = $(this).text();
}
sum += parseFloat( ('0' + val).replace(/[^0-9-\.]/g, ''), 10 );
});
return sum;
};
$(document).ready(function() {
$('#pricetoadd').blur(function(){
var num = parseFloat($(this).val());
var cleanNum = num.toFixed(2);
$(this).val(cleanNum);
if(num < 1){
$('#error').text('Please enter only 2 decimal places, we have truncated extra points');
}
});
$('input.price').bind('keyup', function() {
$('span.total').html( $('.price').sumValues().toFixed(2) );
});
});
工作示例:http: //jsfiddle.net/gRjz7/