html表格模板,可擴展,很好用(內容來自互聯網)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
 
<table width="80%" border="1" align="center" id="test">
  <tr>
    <td width="69">列值</td>
    <td width="69">整數一</td>
    <td width="69">整數二</td>
    <td width="54">總和</td>
  </tr>
  <tr>
    <td>1</td>
    <td><input type="text" name="textfield" onchange="count(this)"></td>
    <td><input type="text" name="textfield3" onchange="count(this)"></td>
    <td><input type="text" name="textfield5" disabled></td>
  </tr>
  <tr>
    <td>2</td>
    <td><input type="text" name="textfield2" onchange="count(this)"></td>
    <td><input type="text" name="textfield4" onchange="count(this)"></td>
    <td><input type="text" name="textfield6"disabled></td>
  </tr>
  <tr>
    <td>合計</td>
    <td><input type="text" name="textfield2" disabled></td>
    <td><input type="text" name="textfield4" disabled></td>
    <td><input type="text" name="textfield6" disabled></td>
  </tr>
</table>

 
<script type="text/javascript">

function count(inp) {
        //算總和
        var trObj = inp.parentElement.parentElement;
        var sum = 0;
        for (var i=1; i<trObj.children.length-1; i++) //循環input所在行的單元格(除去第一格和最後一格)
        {
            sum += trObj.childNodes[i].firstChild.value ? parseInt(trObj.childNodes[i].firstChild.value,10) : 0; //如果input值爲空,則算作0
        }
        trObj.childNodes[trObj.children.length-1].firstChild.value = sum; //給最後一格內的input賦值
        //算合計
        var tab = document.getElementById("test");
        for (var i=1; i<tab.rows[0].cells.length; i++) //循環列(除去第一列和最後一列)
        {
            var total = 0;
            for (var j=1; j<tab.rows.length-1; j++) //循環行(除去第一行和最後一行)
            {
                total += tab.rows[j].cells[i].firstChild.value ? parseInt(tab.rows[j].cells[i].firstChild.value,10) : 0; //如果input值爲空,則算作0
            }
            tab.rows[tab.rows.length-1].cells[i].firstChild.value = total; //給每列最下面一行的input賦值
        }
    }

</script>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章