gpt4 book ai didi

javascript - 使用 rowIndex 在单击的行正下方插入新行

转载 作者:行者123 更新时间:2023-11-27 23:50:42 26 4
gpt4 key购买 nike

下面是我写的代码来做以下事情

  • 每个表格行都包含一个“+”按钮

  • 当点击按钮时,代码应该找到被点击行的行索引

  • 然后一个新行应该添加到 cilcked 行的 (rowindex+1) 位置。即,就在点击行的下方。

但是现在出现的问题是

  • button里面的onclick函数没有用,如果我把它写进去就可以了

  • 'cell3' 中按钮的 onclick 不起作用

因为我是 php 的初学者,也是 javascript 的初学者,任何人都可以帮我详细解释

<script>
function myFunction(x) {
var table = document.getElementById("myTable");

var rowno=x.rowIndex;
alert(rowno);

var row = table.insertRow(rowno+1);

var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = '<input type="text"s name="txt1">';
cell2.innerHTML = '<input type="text" name="txt2">';
cell3.innerHTML = '<input type="button" name="btn" value="+" onclick="myFunction(this)">';

}
</script>
<table id="myTable" border="1">

<tr>
<td>Row1 cell1</td>
<td>Row1 cell2</td>
<td><button onclick="myFunction(this)">+</button></td>
</tr>

<tr>
<td>Row1 cell1</td>
<td>Row1 cell2</td>
<td><button onclick="myFunction(this)">+</button></td>
</tr>

<tr>
<td>Row1 cell1</td>
<td>Row1 cell2</td>
<td><button onclick="myFunction(this)">+</button></td>
</tr>

</table>

最佳答案

您正在将按钮传递给您的函数并试图找到它的 rowIndex,这是不可能的。您需要找到按钮父行的 rowIndex。我修改了 javascript 代码以选择它。这应该有效。

<script type="text/javascript">

function myFunction(x) {
var table = document.getElementById("myTable");
var rowno = x.parentNode.parentNode.rowIndex; //this selects the button's parent row
alert(rowno);
var row = table.insertRow(rowno + 1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
cell1.innerHTML = '<input type="text"s name="txt1">';
cell2.innerHTML = '<input type="text" name="txt2">';
cell3.innerHTML = '<input type="button" name="btn" value="+" onclick="myFunction(this)">';

}
</script>

关于javascript - 使用 rowIndex 在单击的行正下方插入新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27540107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com