求教关于javascript获取动态表格数据的问题,如何获取动态ID

2025-03-25 17:10:44
推荐回答(1个)
回答1:

文本框做一个触发事件,文本框的id或者name是按照列命名,例如

 代表广州张三,

编辑文本框的时候,根据name找到具体的人,则进行重新统计所在列的值(例如统计张三),然后找到张三所在的表二的显示位置,更新!

       







区域



姓名合计







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        { 
           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                {
                   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);
     }

};