表格中.列一加列二.自动算出列三的值(列一加列二)
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) ">