2013-08-30 19 views
2
<script type="text/javascript"> 
    Array.prototype.AddRecord = function() { 

     document.getElementById('mytable').style.display = "block"; 
     table 
     var table = document.getElementById("mytable"); 
     var rows = table.rows.length; 

     var row = table.insertRow(rows++); 
     var cell1 = row.insertCell(0); 
     var cell2 = row.insertCell(1); 
     var cell3 = row.insertCell(2); 
     var cell4 = row.insertCell(3); 
     var cell5 = row.insertCell(4); 

     //alert(row.id); 
     var name = this[0]; 
     var age = this[1]; 

     var param = "editrow(\'" + name + "\'," + age + "," + rows + ")"; 
     var param1 = "deleterow(" + rows + ")"; 
     var param2 = "Update(\'" + name + "\'," + age + "," + rows + ")"; 

     cell1.innerHTML = name; 
     cell2.innerHTML = age; 
     cell3.innerHTML = "<input type='button' value='Edit' id='edit' onclick=" + param + " >"; 
     cell4.innerHTML = "<input type='button' value='Delete' id='delete' onclick=" + param1 + ">"; 
     cell5.innerHTML = "<input type='button' value='Update' id='update' onclick=" + param2 + ">"; 

    } 

    function Update(name, age, row) { 
     alert(name); 
     alert(age); 
     alert(row); 
     document.getElementById('create').style.display = "none"; 
     document.getElementById('update').style.display = "block"; 

    } 
</script> 

我想更新行,具体取决于tr id的行id,并更新tr cell数据请帮助我,我是一个新手... Thanx in提前...在javascript中使用tr id更新tr innerHTML

+0

上午通过行ID或行号更新功能,但我不知道如何更新孩子节点或细胞数据... – user2699972

+0

你在哪里遇到麻烦?顺便说一句,改变表格和单元格的'display'类型不是一个好主意。让它们保持原样('table','table-cell'等)并使用'visibility'属性代替。 –

+0

在更新功能我想通过使用tr行号访问td值,因为有很多记录添加和需要更新特定记录 – user2699972

回答

0

这就是jQuery的问题,你会沉迷于它。反正这里是原始的JavaScript解决方案:

这里的关键是分配ID到你的行,以便以后你可以获取它。

http://jsfiddle.net/PnMPk/1/ < <工作示例。

updateMethod = function (nm, age, rowID){ 
    //alert('Changing Name of :' + rowID); 
    var o = getO(rowID); 
    o.children[0].innerText = 'Changed'; 
    o.style.color = 'red'; 
}; 

//getO => 
var getO = function(_id){ 
    return document.getElementById(_id); 
}; 

Array.prototype.AddRecord = function() { 
getO('mytable').style.display = "block"; 
     table 
     var table = getO("mytable"), 
      rows = table.rows.length, 
      row = table.insertRow(rows++), 
      cell1 = row.insertCell(0), 
      cell2 = row.insertCell(1), 
      cell3 = row.insertCell(2), 
      cell4 = row.insertCell(3), 
      cell5 = row.insertCell(4), 
      rowID = 'row_'+ table.rows.length; 

     row.setAttribute('id', rowID); //Assign some ID 

     var name = this[0], 
      age = this[1], 
      param = "editrow(\'" + rowID + "\'," + age + "," + rows + ")", 
      param1 = "deleterow(" + rowID + ")", 
      param2 = "updateMethod(\'" + name + "\'," + age + ",'" + rowID + "')"; 

     cell1.innerHTML = name; 
     cell2.innerHTML = age; 
     cell3.innerHTML = "<input type='button' value='Edit' id='edit' onclick=" + param + " >"; 
     cell4.innerHTML = "<input type='button' value='Delete' id='delete' onclick=" + param1 + ">"; 
     cell5.innerHTML = "<input type='button' value='Update' id='update' onClick=" + param2 + ">"; 


    }; 

['rakesh',26].AddRecord(); 
['juyal',28].AddRecord(); 
['Click',26].AddRecord(); 
['update',28].AddRecord(); 
['CHANGE_NAME',28].AddRecord(); 

让我知道你是否需要对它进行一些修改。