感谢hookee 写的程序,但还有点小问题。页面环境:页面上有一个总金额输入框,下方有4个复选框表明产品系列,每个产品系列后跟一个输入框。
求助实现功能:当总金额框中输入金额后,点击下方产品复选框,上方总金额除以点击复选框产品系列的选定个数,如选定一个,就除以1 选定其中2个就除以2,并在选定产品系列后方输入框内显示平均数,且平均数取整汇总等于总金额。求大家如何实现。
现在的问题是:比如总金额输入11,产品选择A B 明细金额取整为5和5 合计不等于总金额,现想实现在最后一个选择的产品金额上补足,使明细金额取整后一定等于总金额! 谢谢大家源代码如下:
<script>
function doit(){
var f = document.forms[0];
var sum = f.sum.value;
if(isNaN(sum) || sum=="") return;
sum = parseInt(sum,10);
var a = [];
var A = "A".charCodeAt(0)
for(var i=0;i<f.check.length;i++){
if(f.check[i].checked) a[a.length] = f.elements[String.fromCharCode(A + i)];
else f.elements[String.fromCharCode(A + i)].value = "0";
}
var av = sum / a.length
for(var i=0;i<a.length;i++) a[i].value = parseInt(av,10);
}
</script>
<form>
<p>总金额<input type="text" name="sum"></p>
<table width="75%" border="1">
<tr>
<td width="24%"><input type="checkbox" name="check" onclick="doit()">产品系列A</td>
<td width="76%">平均金额 <input type="text" name="A" value="0"></td>
</tr>
<tr>
<td><input type="checkbox" name="check" onclick="doit()">产品系列B</td>
<td>平均金额 <input type="text" name="B" value="0"></td>
</tr>
<tr>
<td><input type="checkbox" name="check" onclick="doit()">产品系列C</td>
<td>平均金额 <input type="text" name="C" value="0"></td>
</tr>
<tr>
<td><input type="checkbox" name="check" onclick="doit()">产品系列D</td>
<td>平均金额 <input type="text" name="D" value="0"></td>
</tr>
</table>
</form>
求助实现功能:当总金额框中输入金额后,点击下方产品复选框,上方总金额除以点击复选框产品系列的选定个数,如选定一个,就除以1 选定其中2个就除以2,并在选定产品系列后方输入框内显示平均数,且平均数取整汇总等于总金额。求大家如何实现。
现在的问题是:比如总金额输入11,产品选择A B 明细金额取整为5和5 合计不等于总金额,现想实现在最后一个选择的产品金额上补足,使明细金额取整后一定等于总金额! 谢谢大家源代码如下:
<script>
function doit(){
var f = document.forms[0];
var sum = f.sum.value;
if(isNaN(sum) || sum=="") return;
sum = parseInt(sum,10);
var a = [];
var A = "A".charCodeAt(0)
for(var i=0;i<f.check.length;i++){
if(f.check[i].checked) a[a.length] = f.elements[String.fromCharCode(A + i)];
else f.elements[String.fromCharCode(A + i)].value = "0";
}
var av = sum / a.length
for(var i=0;i<a.length;i++) a[i].value = parseInt(av,10);
}
</script>
<form>
<p>总金额<input type="text" name="sum"></p>
<table width="75%" border="1">
<tr>
<td width="24%"><input type="checkbox" name="check" onclick="doit()">产品系列A</td>
<td width="76%">平均金额 <input type="text" name="A" value="0"></td>
</tr>
<tr>
<td><input type="checkbox" name="check" onclick="doit()">产品系列B</td>
<td>平均金额 <input type="text" name="B" value="0"></td>
</tr>
<tr>
<td><input type="checkbox" name="check" onclick="doit()">产品系列C</td>
<td>平均金额 <input type="text" name="C" value="0"></td>
</tr>
<tr>
<td><input type="checkbox" name="check" onclick="doit()">产品系列D</td>
<td>平均金额 <input type="text" name="D" value="0"></td>
</tr>
</table>
</form>
解决方案 »
- 求大神,用户验证问题
- dhtmlxTree树的问题
- (100分)求javascript使图片旋转水平翻转,垂直翻转,和分别旋转90,180,270,360角度
- 急死了!上传浏览按钮老是移动不到按钮上
- 请帮忙改造一下代码: 关于jQuery实现CheckBox全选、全不选
- 关于复杂通用的文本输入、验证函数
- 提供下载:碧聊后台管理
- 请问,如何做一个让别人可以看的见但是却不能拷贝的网页?
- 求一段有关FRAME的JAVASCRIPT代码
- 请问一菜鸟级的问题,请朋友们帮帮忙看看
- 已知屏幕几个点的坐标,想把一个图标分别放在这几个点上,用javascript, 该怎么办,多谢指点
- 我写了一个鼠标移动到热点上边显示这块的一个标题的js 可是有点毛病 移动出去以后就不显示了
function doit(){
var f = document.forms[0];
var sum = f.sum.value;
if(isNaN(sum) || sum=="") return;
sum = parseInt(sum,10);
var a = [];
var A = "A".charCodeAt(0)
for(var i=0;i <f.check.length;i++){
if(f.check[i].checked) a[a.length] = f.elements[String.fromCharCode(A + i)];
else f.elements[String.fromCharCode(A + i)].value = "0";
}
var av = sum / a.length
for(var i=0;i <a.length;i++) a[i].value = parseInt(av,10);
a[a.length-1].value = parseInt(a[a.length-1].value) + sum % a.length;
}
</script>
function doit(){
var f = document.forms[0];
var sum = f.sum.value;
if(isNaN(sum) || sum=="") return;
sum = parseInt(sum,10);
var a = [];
var A = "A".charCodeAt(0)
for(var i=0;i <f.check.length;i++){
if(f.check[i].checked) a[a.length] = f.elements[String.fromCharCode(A + i)];
else f.elements[String.fromCharCode(A + i)].value = "0";
}
var av = sum / a.length
for(var i=0;i <a.length;i++) a[i].value = parseInt(av,10);
for(var i=1;i <=sum % a.length;i++) a[a.length-i].value = parseInt(a[a.length-i].value) + 1; //another way.select what you want by yourself.
}
</script>