JavaScript 实现点击按钮将当前行数据动态添加到另一个表格

作者:小圆点时间:2026-10-28 02:30:50浏览:637

本文介绍如何使用 JavaScript 实现点击表格行中的“新增”按钮,将当前行的数据动态复制到另一个空表格中。通过获取当前行索引,提取单元格文本及输入框值,利用 insertRow 和 insertCell 方法构建新行并填充内容,完成数据的跨表移动。

页面结构与表格初始化

首先创建一个包含两个表格的页面。上方的表格已包含若干数据行,下方的表格仅保留表头,未填充任何数据。


 

具体页面结构代码如下:

<body>
<form id="form1" runat="server">
<div>
<table border='1px' width="500px" id="tables">
<tr>
<td>1</td><td><input type="text" value="20" style="width:50px" /><input type="text" value="200"style="width:50px" /></td><td>我是中国人</td><td>好好学习</td><td><input type="button" id="but" value="新增" onclick="butd(this);" /></td>
</tr>
<tr>
<td>2</td><td><input type="text" value="30"style="width:50px" /><input type="text" value="300"style="width:50px" /></td><td>我是中国人</td><td>好好学习</td><td><input type="button" id="Button1" value="新增" onclick="butd(this);" /></td>
</tr>
<tr>
<td>3</td><td><input type="text" value="40" style="width:50px" /><input type="text" value="400" style="width:50px"/></td><td>我是中国人</td><td>好好学习</td><td><input type="button" id="Button2" value="新增" onclick="butd(this);" /></td>
</tr>
<tr>
<td>4</td><td><input type="text" value="50" style="width:50px" /><input type="text" value="500"style="width:50px" /></td><td>我是中国人</td><td>好好学习</td><td><input type="button" id="Button3" value="新增" onclick="butd(this);" /></td>
</tr>
<tr>
<td>5</td><td><input type="text" value="60" style="width:50px" /><input type="text" value="600"style="width:50px" /></td><td>我是中国人</td><td>好好学习</td><td><input type="button" id="Button4" value="新增" onclick="butd(this);" /></td>
</tr>
</table>
</div>
<div>
<table border='1px' width="500px" id="table2">
<tr><td>ID</td><td>年龄</td><td>金钱</td><td>名字</td></tr>
</table>
</div>
</form>
</body>

JavaScript 动态添加行实现

点击“新增”按钮后,需将当前行数据动态添加至下方的 table 中。相关 JavaScript 代码如下:


JavaScript 实现代码如下:

<script type="text/javascript">
function butd(rows) {
var rows = rows.parentNode.parentNode.rowIndex //找到当前选中的行
var mytable = document.getElementById('tables'); //找到当前这个 table;
var Romm_price = mytable.rows[rows].cells[0].innerText; //找到当前行的第一列的值
var room_rows = mytable.rows[rows].cells[1].children[0].value; //找到当前行的第二列第一个文本框的值;
var room_rows2 = mytable.rows[rows].cells[1].children[1].value; //找到当前行的第二列第二个文本框的值;
var room_rows3 = mytable.rows[rows].cells[2].innerText; //找到当前行的第三列的值;
//找到table2,并给table2新增一行
var x = document.getElementById('table2').insertRow();
x.align = "center"; //设置行样式
var Romm_typename = x.insertCell(0);
var txtDate = x.insertCell(1);
var Guest_Type_ID = x.insertCell(2);
var room_row = x.insertCell(3);
Romm_typename.innerHTML = Romm_price;
txtDate.innerHTML = room_rows;
Guest_Type_ID.innerHTML = room_rows2;
room_row.innerHTML = room_rows3;
        }
</script>

该示例的核心在于准确获取当前点击所在的行索引,以及如何通过 DOM 方法将提取的数据手动插入到目标表格中。


作者最新文章