【发布时间】:2019-01-17 09:45:47
【问题描述】:
我不知道如何解决这个问题,如果有人知道如何解决,请告诉我。如果需要,我会亲自发送代码以找出错误。
有两个容器:左和右。在左侧,我从文本框和单选按钮(活动/非活动)中获取标题、描述和状态(活动/非活动)的值。然后在按下提交按钮后,所有值都填充到右侧容器表中,每次单击提交按钮后附加编辑和删除按钮。我想删除单击删除按钮的特定行。但是我不知道如何访问该按钮,而 onclick 功能(doDelete())在所有按钮中都是相同的。
function fillData() {
var table = document.getElementById("myTable");
var counter = table.querySelectorAll('tr').length;
var key = counter;
var row = table.insertRow(counter);
row.id = "row-" + key;
var titleCell = row.insertCell(0);
var descCell = row.insertCell(1);
var statusCell = row.insertCell(2);
var actionCell = row.insertCell(3);
var editButton = document.createElement("button");
editButton.innerText = "Edit";
editButton.id = "edit-" + key;
editButton.setAttribute("onclick", "doEdit()");
var delButton = document.createElement("button");
delButton.innerText = "Delete";
delButton.id = "delete-" + key;
delButton.setAttribute("onclick", "doDelete()");
titleCell.innerHTML = document.getElementById("panel-title").value;
descCell.innerHTML = document.getElementById("panel-description").value;
statusCell.innerHTML = (function () {
var radios = document.getElementsByName("status");
for (i = 0, len = radios.length; i < len; i++) {
if (radios[i].checked) {
return radios[i].value;
}
}
}());
actionCell.appendChild(editButton);
actionCell.appendChild(delButton);
var delBtnArr = document.querySelectorAll('input[type="button"]');
console.log(delBtnArr);
}
实际结果:按下删除按钮后,整行都被删除。 预期结果:按下删除按钮后,单击按钮的特定行将被删除。
【问题讨论】:
-
传递给您的删除和编辑方法
this.id。在您的特定函数中遍历 dom 树以到达合适的表行。 -
请出示删除行的代码。
-
实际上我对如何访问该元素感到困惑,所以没有用 doDelete() 函数编写代码
-
请给我您的电子邮件 ID,以便我可以与您分享我的代码
标签: javascript html