我有问题。我试图用jQuery对两个浮点值求和。
<tr id='idList'>
<td class="price" value="2,50">Testsum</td>
<td class="price" value="13,50">Testsum</td>
<td> <input type="text" id="total_price" readonly></td>
</tr>
我的JavaScript:
var sum = 0;
$('.price').each(function(){
sum = $(this).attr('value') + sum;
});
alert(sum);
$('#total_price').val(sum);
我在文本字段中输入了此输出:2,5013,50
。为什么?我不明白,为什么它不能将两个值相加如下:2,50 + 13,50 = 16,00?
答案 0 :(得分:2)
尝试使用parseInt()
功能
var sum = 0;
$('.price').each(function(){
sum = parseInt($(this).attr('value')) + sum;
});
alert(sum);
$('#total_price').val(sum);
检查 Manual
答案 1 :(得分:0)
您正在使用字符串连接
var sum = 0;
$('.price').each(function() {
sum += (+$(this).attr('value').replace(',', '.') || 0);
});
$('#total_price').val(sum);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr id='idList'>
<td class="price" value="2,50">Testsum</td>
<td class="price" value="13,50">Testsum</td>
<td>
<input type="text" id="total_price" readonly>
</td>
</tr>
</table>
&#13;