这个计算脚本几乎可以工作,但它不会对逗号后面带数字的值做任何事情。任何人都可以帮助我吗?
var selects = $('select');
var inputs = $('input');
selects.change(calculate);
inputs.keyup(calculate);
function calculate()
{
var runningTotal = 0;
selects.each(function(i)
{
var val = parseInt($(this).val());
var qty = inputs.eq(i).val();
runningTotal += (val*qty);
});
$('#grandtotal').val(runningTotal);
}
答案 0 :(得分:1)
如果您尝试将字符串转换为带小数点的数字,请不要使用parseInt()
,而应使用parseFloat()
。
jsfiddle:http://jsfiddle.net/Grimbode/mjs32/1/
alert(parseInt('10.10'));
alert(parseFloat('10,10'));
alert(parseFloat('10.10'));
您需要将逗号转换为'。',以便parseFloat()正常工作。
parseFloat(('10,10').replace(",", "."));
答案 1 :(得分:0)
selects.each(function(i)
{
var val = parseInt($(this).val());
if (val.indexOf('"') != -1) {
val = val.replace(/"/g, '');
}
var qty = inputs.eq(i).val();
runningTotal += (val*qty);
});