把下面的totalcount()函数分别加到删除和添加的最后就行了function totalcount() {
var tab=document.getElementById('myTable');
if(tab.rows.length>1) {//没有值时就不计算
var total=0;
for(var r=0;r<tab.rows.length-1;r++) {
total+=parseInt(tab.rows[r].cells[1].innerHTML)*parseInt(tab.rows[r].cells[2].innerHTML);//为了兼容FF所以没使用innerText,不知道还能不能用别的属性来取值
}
tab.rows[tab.rows.length-1].cells[1].innerHTML=total;
}
}
var tab=document.getElementById('myTable');
if(tab.rows.length>1) {//没有值时就不计算
var total=0;
for(var r=0;r<tab.rows.length-1;r++) {
total+=parseInt(tab.rows[r].cells[1].innerHTML)*parseInt(tab.rows[r].cells[2].innerHTML);//为了兼容FF所以没使用innerText,不知道还能不能用别的属性来取值
}
tab.rows[tab.rows.length-1].cells[1].innerHTML=total;
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<style>
body{
margin:0px;
font-size:12px;
color:#8f8f8f;
}
#menu {
display:block;
bottom:2px;
right:2px;
width:220px;
position:fixed;
border:1px solid #990000;
padding:2px;
text-align:center;
font-weight:bold;
color:#990000;
background:#fff;
}
* html #menu {
position:absolute;
}
#delete{
background-image:url('bas_del.gif');
width:16px;
height:12px;
cursor:pointer;
margin:auto;
}
#refer{
background-image:url('bas_in.gif');
width:16px;
height:12px;
cursor:pointer;
}
.Astyle{
float:left;
margin:0px 2px;
width:50px;
background-color:#000000;
}
.both{
margin:4px 0px 0px 5px;
float:left;
}
</style>
<script language="javascript">
function deleteRow(r) {
var i=r.parentNode.parentNode.rowIndex
document.getElementById('myTable').deleteRow(i)
计算()
}function insRow(x) {
var Name1 = document.getElementById(x+"1").innerHTML;
var Name2 = document.getElementById(x+"2").innerHTML;
var Name3 = document.getElementById(x+"3").innerHTML;
var x=document.getElementById('myTable').insertRow(0)
var y=x.insertCell(0)
var z=x.insertCell(1)
var m=x.insertCell(2)
var n=x.insertCell(3)
y.innerHTML=Name1
z.innerHTML=Name2
m.innerHTML=Name3
n.innerHTML="<div id='delete' onclick='deleteRow(this)'></div>"
计算()
}
function 计算(){
var tab=document.getElementById('myTable')
var tr=tab.rows;
var all=0
for (var i=0;i<tr.length-1;i++)
all+=parseInt(tr[i].cells[1].innerHTML)
tr[i].cells[1].innerHTML=all
}
</script>
</head>
<body>
<div id="menu">
<table border="1" width="100%" cellspacing="0">
<tr>
<td width="90">物品</td>
<td width="40">单价</td>
<td width="40">数量</td>
<td>删除</td>
</tr>
</table>
<table id="myTable" border="1" width="100%" cellspacing="0">
<tr>
<td width="90">总计</td>
<td width="40" id="hj">0</td>
<td width="40">-</td>
<td>-</td>
</tr>
</table>
</div>
<div style="background-color:#cccccc;width:960px;height:1000px;margin:auto">
<div class="both">
<div id="a1" class="Astyle">物品一</div>
<div id="a2" class="Astyle">10</div>
<div id="a3" class="Astyle">1</div>
<div id="refer" class="Astyle" onclick="insRow('a')"></div>
</div>
<div style="clear:both"></div>
<div class="both">
<div id="b1" class="Astyle">物品二</div>
<div id="b2" class="Astyle">20</div>
<div id="b3" class="Astyle">2</div>
<div id="refer" class="Astyle" onclick="insRow('b')"></div>
</div>
</div>
</body>
</denter>
</body>
</html>
var tab=document.getElementById('myTable');
if(tab.rows.length>1) {//没有值时就不计算
var total=0;
for(var r=0;r<tab.rows.length-1;r++) {
total+=parseInt(tab.rows[r].cells[1].innerHTML)*parseInt(tab.rows[r].cells[2].innerHTML);//为了兼容FF所以没使用innerText,不知道还能不能用别的属性来取值
}
tab.rows[tab.rows.length-1].cells[1].innerHTML=total;
}
}
csdn有问题,竟然出来两遍,