如何使用Javascript获取行位置?

时间:2016-03-18 21:14:36

标签: javascript php html-table

我有点问题...... 在我的PHP代码中,用户应该能够通过单击行右侧的按钮向HTML-Table添加行。 然后新行应显示在显示按钮的行下方。要做到这一点,我需要获得行位置,但我不知道如何。

我试过这个:

2016/02/17/01
2016/02/17
2016/02
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>');

        }

你可以帮我解决这个问题吗?

另一个问题是,cell4的内容没有显示出来。 非常感谢你们。

2 个答案:

答案 0 :(得分:0)

有几种不同的方法可以解决这个问题。一种非常简单的方法是在您刚插入的行中添加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

答案 1 :(得分:0)

我自己找到了一个非常简单的方法:

&#13;
&#13;
   function add(arg,pos) {
            alert((arg.parentNode.parentNode.rowIndex)+pos);
            arg = (arg.parentNode.parentNode.rowIndex)+pos;
            var table = document.getElementById("Angebotsformular");
            var row = table.insertRow(arg);
     
     // and the rest of the code
     
     }
&#13;
<span onclick="add(this, 0);">above</span></br>
<span onclick="add(this, 1);">below</span></br>
&#13;
&#13;
&#13;

我只是不知道&#34; .rowIndex&#34; -Part。