[英]how can i use delete buttons to delete row?
I wrote some code to make a dynamic table. 我写了一些代码来制作一个动态表。 Inserting the data part works ok.
插入数据部分可以正常工作。 But I can't delete the row using the delete button because it's inside the innerHTML.
但是我无法使用Delete按钮删除该行,因为它位于innerHTML内部。
Does anyone have an idea? 有人有主意吗? I can't figure it out.
我不知道。
var tr = document.getElementsByTagName("tr");
var td = document.getElementsByTagName("td")
//insert row with data
function myCreateFunction() {
var table = document.getElementById("myTable");
var row = table.insertRow(tr.length);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1)
var cell3 = row.insertCell(2)
var cell4 = row.insertCell(3);
cell1.innerHTML = document.getElementById("fname").value;
cell2.innerHTML = document.getElementById("lname").value;
cell4.innerHTML = '<button type = "button">Delete</button>'
if(document.getElementById("myRadio").checked){
cell3.innerHTML = document.getElementById("myRadio").value
} else {
cell3.innerHTML = document.getElementById("myRadio2").value
}
document.getElementById("fname").value = null;//form with no value
document.getElementById("lname").value = null;//form with no value
document.getElementById("myRadio").checked = false;//form with no value
document.getElementById("myRadio2").checked = false;//form with no value
}
You can use deleteRow() function 您可以使用deleteRow()函数
function deleteRow(r) { var i = r.parentNode.parentNode.rowIndex; document.getElementById("myTable").deleteRow(i); }
table, td { border: 1px solid black; }
<table id="myTable"> <tr> <td>Row 1</td> <td><input type="button" value="Delete" onclick="deleteRow(this)"></td> </tr> <tr> <td>Row 2</td> <td><input type="button" value="Delete" onclick="deleteRow(this)"></td> </tr> <tr> <td>Row 3</td> <td><input type="button" value="Delete" onclick="deleteRow(this)"></td> </tr> </table>
You can attach like this. 您可以像这样附加。
cell4.innerHTML = '<button type = "button" onclick="deleteRow(this)">Delete</button>';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.