我有一个小问题
在我的PHP代码中,用户应该能够通过单击行右侧的按钮将行添加到HTML表中。
然后应在显示按钮的行下显示新行。为此,我需要获取行正位置,但是我不知道如何。
我已经试过了:
function deleteRow(rowNumber) {
document.getElementById("Angebotsformular").deleteRow(rowNumber);
}
function addRow(rowNumber) {
var table = document.getElementById("Angebotsformular");
var row = table.insertRow(rowNumber); //THIS IS THE VALUE I NEED TO FIND
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var posnr = document.createElement("input");
var posorder = document.createElement("input");
var unit = document.createElement("input");
posnr.type = "text";
posnr.name = "position";
posnr.size = 6;
posorder.type = "text";
posorder.name = "order";
posorder.size = 6;
unit.type = "text";
unit.name = "unit";
unit.size = 6;
cell1.appendChild(posnr);
cell2.appendChild(posorder);
cell3.appendChild(unit);
cell4.innerHTML('<span onclick="hinzufuegen();">Add</span><span onclick="loeschen();">Remove</span>');
}
<tr>
<td><input type="text" size="6" id="position"></td>
<td><input type="text" size="6" id="order"></td>
<td><input type="text" size="6" id="unit"></td>
<td><span onclick="addRow(this);">Add</span><span onclick="deleteRow(this);">Remove</span></td>
</tr>
你能帮我吗?
另一个问题是,cell4的内容没有显示。
非常感谢大家。
最佳答案
有几种不同的方法可以解决此问题。一种非常简单的方法是将一个ID添加到刚插入的行中,然后将其传递给您正在创建的innerHTML
:
var table = document.getElementById("Angebotsformular");
var row = table.insertRow(rowNumber);
row.id = 'table_row_1';
// Rest of your code...
cell4.innerHTML = '<span onclick="remove(' + row.id + ');">';
// elsewhere...
function remove(rowId) {
var rowToDelete = document.getElementById(rowId);
}
访问表后,您还可以随时使用rows属性访问表的行。您可以遍历行并将它们的数据与所需内容进行比较。
document.getElementById('Angebotsformular').rows // this is an array
关于javascript - 如何使用Javascript获取行位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36094352/