如何计算行单元格表中的值

时间:2014-09-04 06:21:38

标签: javascript html function html-table

如果我有超过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上,但仍然在每个相同的行中 是否有人会帮我解决这个问题,谢谢^^

1 个答案:

答案 0 :(得分:1)

这是您的解决方案

Demo

您的代码应该是这样的

<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导航到相应行中的那个元素并打印出结果。