我有一个js代码,用于计算单击复选框时的总金额。用户可以选择全选或仅选择他们想要计算的特定金额。如果用户选择所有'工作正常但当他们只点击他们想要计算的特定金额时,该功能如果金额有',在其中,则只会取'之前的数字,例如,如果金额为20,230,则总金额为20.00。如果数字只有20230没有',那么它的工作真的很好。请帮帮我。
function checkedAll () {
var row_counter =0;
$("input[id ^= 'check_'] ").each(function() {
row_counter++;
});//en
var total=0;
for(var i=1; i<=row_counter; i++) {
//alert(i);
if (document.getElementById("checkall").checked==true){
document.getElementById('check_'+i).checked = true;
var amaun = document.getElementById('amaun_'+i).value;
//alert(amaun);
total = parseFloat(total)+parseFloat(amaun);
}
else{
document.getElementById('check_'+i).checked = false;
var amaun = 0;
total = parseFloat(total)+parseFloat(amaun);
}
}
document.getElementById("jum_baucar").value=total.toFixed(2);
}
function calcTotal(){
//alert("here");
var row_counter =0;
$("input[id ^= 'check_'] ").each(function() {
row_counter++;
});//en
var total=0;
for(var i=1; i<=row_counter; i++) {
//alert(i);
if (document.getElementById('check_'+i).checked == true){
var amaun = document.getElementById('amaun_'+i).value;
//alert(amaun);
total = parseFloat(total)+parseFloat(amaun);
}
else{
var amaun = 0;
total = parseFloat(total)+parseFloat(amaun);
}
}
document.getElementById("jum_baucar").value=total.toFixed(2);
}
&#13;
这些是我的js代码。 我应该加入什么?
答案 0 :(得分:1)
在,
应用的数字中加parseFloat()
会将其视为小数。例如parseFloat('10,10') => 10
。一个简单的解决方案就是从字符串中删除,
:
amaun = amaun.replace(',',''); // Replace a comma with nothing
或者使用正则表达式作为“replaceAll()
”的几个逗号:
amaun = amaun.replace(RegExp(',','g'),'');
然后您可以申请parseFloat(amaun)
:
total = parseFloat(total)+parseFloat(amaun);