日期:2014-05-16  浏览次数:20353 次

表格中.列一加列二.自动算出列三的值(列一加列二)
1,2输入的都是金额数字

<table   height=575   id= "tb1 "   name= "tb1 ">
<tr> <td> 数字一 </td> <td> 数字二 </td> <td> 数字三 </td> </tr>
<tr> <td> <input1   ..> </td> <td> <input2   ..> </td> <td> <input   3..> </td> </tr>
</table>

1.像这样一个表格.当输入数字一和数字二列的input.数字三的列自动为这两个数相加   (50)

2.因为 <tr> <td> <input1   ..> </td> <td> <input2   ..> </td> <td> <input   3..> </td> </tr>
是动态生成的.就会出现有时候有.有时候无的情况.这样又怎么解决   (50)

用javascript怎么行能得到呢??请教


------解决方案--------------------
1、输入的就在onkeyup里写代码
2、动态生成的时候直接将input3的值用前面两个的相加 <input name=input3 value= <%=input1+input2%> 假设input1和input2是前面两个的变量。
------解决方案--------------------
var table1=document.getElementById( "tb1 "); //这个是你的表
var rows=table1.rows; //这个是你的表内行的集合
for (i=0;i <=rows.length-1;i++){
var input1=rows[i].childNodes[0].firstChild; //每一行第一列的input
var input2=rows[i].childNodes[1].firstChild; //每一行第二列的input
var input3=rows[i].childNodes[2].firstChild; //每一行第三列的input
if (input1 && input2) //input1和2是否存在
input3.value=input1.value+input2.value;
}

随手写,未测试
------解决方案--------------------
<table border= "1 ">
<tr>
<td> <input value= "0 " onkeyup= "this.parentNode.nextSibling.nextSibling.childNodes[0].value=this.parentNode.nextSibling.childNodes[0].value*this.value ">
</td>
<td> <input value= "0 " onkeyup= "this.parentNode.nextSibling.childNodes[0].value=this.parentNode.previousSibling.childNodes[0].value*this.value ">
</td>
<td> <input value= "0 " readonly>
</td>
</tr>
<tr>
<td> <input value= "0 " onkeyup= "this.parentNode.nextSibling.nextSibling.childNodes[0].value=this.parentNode.nextSibling.childNodes[0].value*this.value ">
</td>
<td> <input value= "0 " onkeyup= "this.parentNode.nextSibling.childNodes[0].value=this.parentNode.previousSibling.childNodes[0].value*this.value ">
</td>
<td> <input value= "0 " readonly>
</td>
</tr>
<tr>
<td> <input value= "0 " onkeyup= "this.parentNode.nextSibling.nextSibling.childNodes[0].value=this.parentNode.nextSibling.childNodes[0].value*this.value ">
</td>
<td> <input value= "0 " onkeyup= "this.parentNode.nextSibling.childNodes[0].value=this.parentNode.previousSibling.childNodes[0].value*this.value ">
</td>
<td> <input value= "0 " readonly>
</td>
</tr>
</table>

------解决方案--------------------
SORRY是加法,你把上面的乘号改成加号就可以了
------解决方案--------------------
<table border= "1 ">
<tr>
<td> <input value= "0 " onkeyup= "this.parentNode.nextSibling.nextSibling.childNodes[0].value=parseInt(this.parentNode.nextSibling.childNodes[0].value,10)+parseInt(this.value,10) ">