我试图在点击按钮时删除一行。它工作正常,除非我在一张桌子里。我的JSP在表中有50行的组合,之后我们将表嵌套。现在,我的问题是如果我想删除上一个表中的最后一行,我应该怎么做?
我也附上了UI和调试器HTML视图的屏幕截图。任何建议都会有所帮助。
[DROW]这里是我们有树结构的不同行。我们需要先爬到每一行,然后向下移动到lastChild以删除最后一行。
只有我的previousRow包含最后一行val,才能在此处执行此操作。我无法理解它。
function removeAnotherResponse(arg0, data, response, request){
// Make sure the response has everything we need
if(arguments==null || arguments.length<4 || !request.content || request.content==null || !request.content.groupUniqueId || request.content.groupUniqueId==null){
return;
}
// Check for true response
if(!data || data==null || !data[0] || !data[0].removedSuccess || data[0].removedSuccess!=true){
return;
}
var groupUniqueId=request.content.groupUniqueId;
// Get the add another button row and add the new row before it.
var addAnotherRow=document.getElementById("ADD_"+groupUniqueId);
if(addAnotherRow==null) return;
var previousRow=document.getElementById("ADD_"+groupUniqueId).previousSibling;
addAnotherRow.parentNode.removeChild(previousRow);
showOrHideAddRemoveButtons(groupUniqueId, data[0].removeButton, data[0].addButton);
updateSectionCount(groupUniqueId, false);
getPortCount(groupUniqueId);
}
答案 0 :(得分:2)
您发布的HTML片段似乎存在一些问题(ID重复,使用<tr>
作为其他<tr>
的父级)。我仍然尝试回答你的主要问题如何删除表格的行。您可以使用DOM deleteRow对象的table方法。 rows集合可用于访问现有行,deleteRow
和insertRow允许您修改表格。
答案 1 :(得分:0)
感谢大家建议我更正HTML代码。
UI元素确实以其他方式为我创造了一个问题。现在,我没有创建新的,而是找到了处理这个的其他方法,我的HTML代码变得更简单了。 PFB脚本发生了变化。感谢所有的建议:)
if (document.getElementById("ID" + gID) != null) {
innerElement = document.getElementById("ID_TD_" + gID);
innerElement.innerHTML = innerElement.innerHTML + responseHTML;
} else {
innerElement = document.createElement("td");
innerElement.setAttribute("id", "ID_TD_" + gID);
newElement.appendChild(innerElement);
innerElement.innerHTML = responseHTML;
}