请问如何用onchange事件实现对公、母猪比例的计算?onestab(┼─)请进,各位大虾请进 text没有onchange事件,用onkeypress吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的有求还挺高。<body><table id="tab1" border="1" height="144" width="494"><tr align=center class=tr1> <td width="50" height="24" align="center"> </td> <td width="70" height="24" align="center">抽样体重</td> <td width="59" height="24" align="center">公数量</td> <td width="53" height="24" align="center" bgcolor="#C0C0C0">公比例</td> <td width="51" height="24" align="center">母数量</td> <td width="54" height="24" align="center" bgcolor="#C0C0C0">母比例</td> <td width="54" height="24" align="center">幼数量</td> <td width="52" height="24" align="center" bordercolor="#000000" bgcolor="#C0C0C0">幼比例</td> </tr><tr align=center> <td>猪</td> <td><input type=text size=8 onblur="checkInput()"></td> <td><input type=text size=7 onblur="checkInput()"></td> <td> </td> <td><input type=text size=6 onblur="checkInput()"></td> <td> </td> <td><input type=text size=6 onblur="checkInput()"></td> <td> </td> </tr><tr align=center> <td>狗</td> <td><input type=text size=8 onblur="checkInput()"></td> <td><input type=text size=7 onblur="checkInput()"></td> <td> </td> <td><input type=text size=6 onblur="checkInput()"></td> <td> </td> <td><input type=text size=6 onblur="checkInput()"></td> <td> </td> </tr><tr align=center> <td>羊</td> <td><input type=text size=8 onblur="checkInput()"></td> <td><input type=text size=7 onblur="checkInput()"></td> <td> </td> <td><input type=text size=6 onblur="checkInput()"></td> <td> </td> <td><input type=text size=6 onblur="checkInput()"></td> <td> </td> </tr><tr align=center> <td width="50" height="21"><input type=button value=合计 onclick="sum()"></td> <td width="70" height="21"> </td> <td width="59" height="21"> </td> <td width="53" height="21"> </td> <td width="51" height="21"> </td> <td width="54" height="21"> </td> <td width="54" height="21"> </td> <td width="52" height="21"> </td> </tr></table><script>function toNum(str){ //转换数字 n = parseInt(str); if(isNaN(n)) n=0; return n;}function checkInput(){ // 检查输入,转换为数字 e=event.srcElement; if(e.value.replace(/[0-9]/g,"").length>0){ alert("只能是数字!"); e.focus(); return; } if(e.parentElement.cellIndex==0) return; // first cell calRow(e.parentElement.parentElement.rowIndex);}function calRow(rowNum){ // 计算某行数据 var row = tab1.rows(rowNum); var male= toNum(row.cells(2).firstChild.value); var female = toNum(row.cells(4).firstChild.value); var child = toNum(row.cells(6).firstChild.value); var s = male + female + child; if(s>0){ row.cells(3).innerText = Math.round(100*male/s) + "%"; row.cells(5).innerText = Math.round(100*female/s) + "%"; row.cells(7).innerText = Math.round(100*child/s) + "%"; }}function calCol(n){ //计算列之和 var s=0; for(i=1;i<4;i++) s += toNum(tab1.rows(i).cells(n).firstChild.value); tab1.rows(4).cells(n).innerText = s;}function sum(){ //汇总数据 calCol(1); //计算1 2 3 6 列数据之和 calCol(2); calCol(4); calCol(6); //计算总比例 row = tab1.rows(4); male = toNum(row.cells(2).innerText); female = toNum(row.cells(4).innerText); baby = toNum(row.cells(6).innerText); s = male + female + baby; if(s>0){ row.cells(3).innerText = Math.round(100*male/s) + "%"; row.cells(5).innerText = Math.round(100*female/s) + "%"; row.cells(7).innerText = Math.round(100*baby/s) + "%"; }}</script></body> 哈哈,幸福的打滚!onblur是指焦点离开时触发的事件吗?努力学习!少问问题! onblur亦可改成onchange 或onpropertychange 关于amcharts return 问题 textarea每输出一个变量就换行输出第二个变量的值 【新手上路】一个form中有多个submit,每个submit对应提交相应的text中输入的参数,如何区分各自的submit? javascript 简单问题... 如何访问frameset中的frame ???在iframe中怎样得到鼠标的位置,????????????? 请问如何改变表格的颜色----请高手帮忙 ie6的去页面高度问题 請教一個添加<input type='text'>的問題 一个比较难的表单验正问题,高手过来看一下。。。 求助:关于frame的tabIndex问题
<body>
<table id="tab1" border="1" height="144" width="494">
<tr align=center class=tr1>
<td width="50" height="24" align="center"> </td>
<td width="70" height="24" align="center">抽样体重</td>
<td width="59" height="24" align="center">公数量</td>
<td width="53" height="24" align="center" bgcolor="#C0C0C0">公比例</td>
<td width="51" height="24" align="center">母数量</td>
<td width="54" height="24" align="center" bgcolor="#C0C0C0">母比例</td>
<td width="54" height="24" align="center">幼数量</td>
<td width="52" height="24" align="center" bordercolor="#000000" bgcolor="#C0C0C0">幼比例</td>
</tr>
<tr align=center>
<td>猪</td>
<td><input type=text size=8 onblur="checkInput()"></td>
<td><input type=text size=7 onblur="checkInput()"></td>
<td> </td>
<td><input type=text size=6 onblur="checkInput()"></td>
<td> </td>
<td><input type=text size=6 onblur="checkInput()"></td>
<td> </td>
</tr>
<tr align=center>
<td>狗</td>
<td><input type=text size=8 onblur="checkInput()"></td>
<td><input type=text size=7 onblur="checkInput()"></td>
<td> </td>
<td><input type=text size=6 onblur="checkInput()"></td>
<td> </td>
<td><input type=text size=6 onblur="checkInput()"></td>
<td> </td>
</tr>
<tr align=center>
<td>羊</td>
<td><input type=text size=8 onblur="checkInput()"></td>
<td><input type=text size=7 onblur="checkInput()"></td>
<td> </td>
<td><input type=text size=6 onblur="checkInput()"></td>
<td> </td>
<td><input type=text size=6 onblur="checkInput()"></td>
<td> </td>
</tr>
<tr align=center>
<td width="50" height="21"><input type=button value=合计 onclick="sum()"></td>
<td width="70" height="21"> </td>
<td width="59" height="21"> </td>
<td width="53" height="21"> </td>
<td width="51" height="21"> </td>
<td width="54" height="21"> </td>
<td width="54" height="21"> </td>
<td width="52" height="21"> </td>
</tr>
</table>
<script>
function toNum(str){ //转换数字
n = parseInt(str);
if(isNaN(n)) n=0;
return n;
}function checkInput(){ // 检查输入,转换为数字
e=event.srcElement;
if(e.value.replace(/[0-9]/g,"").length>0){
alert("只能是数字!");
e.focus();
return;
}
if(e.parentElement.cellIndex==0) return; // first cell
calRow(e.parentElement.parentElement.rowIndex);
}function calRow(rowNum){ // 计算某行数据
var row = tab1.rows(rowNum);
var male= toNum(row.cells(2).firstChild.value);
var female = toNum(row.cells(4).firstChild.value);
var child = toNum(row.cells(6).firstChild.value);
var s = male + female + child;
if(s>0){
row.cells(3).innerText = Math.round(100*male/s) + "%";
row.cells(5).innerText = Math.round(100*female/s) + "%";
row.cells(7).innerText = Math.round(100*child/s) + "%";
}
}function calCol(n){ //计算列之和
var s=0;
for(i=1;i<4;i++)
s += toNum(tab1.rows(i).cells(n).firstChild.value);
tab1.rows(4).cells(n).innerText = s;
}function sum(){ //汇总数据
calCol(1); //计算1 2 3 6 列数据之和
calCol(2);
calCol(4);
calCol(6);
//计算总比例
row = tab1.rows(4);
male = toNum(row.cells(2).innerText);
female = toNum(row.cells(4).innerText);
baby = toNum(row.cells(6).innerText);
s = male + female + baby;
if(s>0){
row.cells(3).innerText = Math.round(100*male/s) + "%";
row.cells(5).innerText = Math.round(100*female/s) + "%";
row.cells(7).innerText = Math.round(100*baby/s) + "%";
}
}
</script>
</body>
onchange 或
onpropertychange