我有一个脚本非常适合计算具有起始价格的复选框的价格总和。我从Stackoverflow获得了大部分代码,但我需要稍微调整一下。
我想添加一个逗号来分隔总金额中的数千。我已经看到了一些功能,但不知道在哪里添加数千个逗号功能。
以下是代码:
HTML
<form action="#" method="" name="form">
<fieldset>
<div class="build-option">
<div class="build-title">King-Dome</div>
<label class="build-label"><input type="checkbox" name="nozzle" value="1500"> $1,500</label>
</div>
<div class="build-option">
<div class="build-title">Solar Package</div>
<label class="build-label"><input type="checkbox" name="nozzle" value="1800"> $1,800</label>
</div>
<div class="build-option">
<div class="build-title">Additional Awning</div>
<label class="build-label"><input type="checkbox" name="nozzle" value="900"> $900</label>
</div>
<div class="build-option">
<div class="build-title">Generator Basket</div>
<label class="build-label"><input type="checkbox" name="nozzle" value="250"> $250</label>
</div>
</fieldset>
的Javascript
<script type="text/javascript">
window.onload=function() {
document.getElementsByTagName('fieldset')[0].onclick = totalizer;
};
function totalizer(e) {
var e = e? e : window.event;
var target = e.srcElement || e.target;
if(e.type=='click' && target.type=='checkbox') {
var cost = document.getElementById('cost');
var extra = parseFloat(target.value);
cost.firstChild.data = (parseFloat(cost.firstChild.data) + ((target.checked)? extra : -extra)).toFixed(2);
var parts = e.toString().split("."); //add this for comment - didn't work
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); //add this for comment - didn't work
return parts.join("."); //add this for comment - didn't work
}
}
</script>
我还需要找到一个脚本来清除表单元素,方法是单击&#34;清除&#34;表单按钮和清除表单的脚本检查页面是否刷新。我可以跳过清除按钮,如果我可以让脚本计算&#34;已经&#34;刷新页面时选中复选框。
如果您现在勾选一个方框,总数将会更新。但是如果你离开支票然后刷新页面,那么起始总数就会改变)它应该是39950美元。如果取消选中刷新之前检查过的框,则总数将小于起始总数。
我可能需要为第二部分提出另一个问题。主要是先修复逗号问题。