如果我有超过1行,其中每行有3列与输入框,可能如下所示:
<table id="mytable">
<tr>
<td><input value = "1" /></td>
<td><input value = "2" onBlur="goCount(this)" /></td>
<td><input value = "2+1" /></td>
</tr>
<tr>
<td><input value = "3" /></td>
<td><input value = "4" onBlur="goCount(this)" /></td>
<td><input value = "3+4" /></td>
</tr>
计数必须在单元格1 +单元格2之间,结果将显示在第三个单元格中,也许函数必须是这样的:
function goCount(btn) {
var x = btn.value;
var y = ??? ;
var z = x + y;
}
但我不知道该怎么做,首先将单元格1作为值并将结果放在单元格3上,但仍然在每个相同的行中 是否有人会帮我解决这个问题,谢谢^^
答案 0 :(得分:1)
这是您的解决方案
您的代码应该是这样的
<table id="mytable">
<tr>
<td><input value = "1" onBlur="goCount(this)"/></td>
<td><input value = "2" onBlur="goCount(this)" /></td>
<td><input value = "" id="result"/></td>
</tr>
<tr>
<td><input value = "3" /></td>
<td><input value = "4" onBlur="goCount(this)" /></td>
<td><input value = "" /></td>
</tr>
<script type="text/javascript">
function goCount(btn) {
var x = btn.value;
//var y = ??? ;
var res= document.getElementById("result") ;
//alert( res.value);
if(res.value == "") {
res.value = 0 ;
}
res.value = parseInt(res.value) + parseInt(x) ;
}
</script>
注意:这是你应该注意的一件事,我使用了特定的ID来返回值,如果你在很多行中使用它,你应该使用jQuery导航到相应行中的那个元素并打印出结果。