javascript - 如何使用 Javascript 获取行位置?

标签 javascript php html-table

我有一个小问题... 在我的 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/

相关文章:

html - 使用CSS选择器在嵌套表中选择tr中的所有td

javascript - 类型错误 : undefined is not an object (evaluating this. getActiveTab().barColor)

javascript - 使用 elm 中的 bootstrap-select

php - 通过 URL 获取优惠券代码并将其应用于 WooCommerce 结帐页面

php - CodeIgniter 上 Assets 文件夹的路径

php - 什么时候使用/不使用准备好的语句?

php - 用于单元格填充的 CSS

HTML 文件中的 Javascript,每行单元格不断增加的表格

javascript - Asp.net WebApi Aspose.Cells - 导出和下载 Excel

javascript - 当我使用 ajax 时重复表单