求教关于javascript获取动态表格数据的问题,如何获取动态ID
1个回答
2016-02-23
展开全部
文本框做一个触发事件,文本框的id或者name是按照列命名,例如
<input name="gz_zhangsan"/> 代表广州张三,
编辑文本框的时候,根据name找到具体的人,则进行重新统计所在列的值(例如统计张三),然后找到张三所在的表二的显示位置,更新!
<html>
<body>
<div>
<table border=1>
<thead id='th'><tr><td>区域</td></tr></thead>
<tbody id='tb1'></tbody>
</table>
<table border=1 >
<thead><tr><td>姓名</td><td>合计</td></tr></thead>
<tbody id='tb2'></tbody>
</table>
</div>
</body>
<script type="text/javascript">
var p=[{name:'张三',data:[30,40,50,60]},{name:'李四',data:[33,40,55,67]},{name:'王五',data:[30,10,20,20]},{name:'赵六',data:[10,10,30,20]}];
var address=['广州','深圳','上海','成都'];
window.onload=function()
{
var th = document.getElementById("th");
var tb1=document.getElementById("tb1");
var tb2=document.getElementById("tb2");
var sum =0;
var tr;
var td;
var input;
var rowAddress;
for(var i=0;i< address.length;i++)
{
rowAddress = document.createElement("tr");
td = document.createElement("td");
td.innerHTML = address[i];
rowAddress.appendChild(td);
tb1.appendChild(rowAddress);
}
for(var i=0;i< p.length;i++)
{
sum =0;
var th_col = document.createElement("td");
th_col.innerHTML = p[i].name;
th.rows[0].appendChild(th_col);
for(var j=0;j<p[i].data.length;j++)
{
rowAddress=tb1.rows[j];
sum+= p[i].data[j];
td = document.createElement("td");
input = document.createElement("input");
input.value = p[i].data[j];
td.appendChild(input);
input.colIndex = i;
input.onchange=function()
{
var sum=0;
for(var i=0;i<tb1.rows.length;i++)
{
sum += parseInt( tb1.rows[i].cells[this.colIndex+1].getElementsByTagName("input")[0].value,10);
}
tb2.rows[this.colIndex].cells[1].innerHTML=sum;
};
rowAddress.appendChild(td);
}
tr = document.createElement("tr");
td = document.createElement("td");
td.innerHTML = p[i].name;
tr.appendChild(td);
td = document.createElement("td");
td.innerHTML = sum;
tr.appendChild(td);
tb2.appendChild(tr);
}
};
</script>
</html>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询