我正处于学习 js 和 jquery 的早期阶段。我陷入了一个我不明白的问题。我有一个 HTML 表单,我在其中收集用户输入。单击提交按钮时,用户输入将作为新行保存到表中(我们称之为“myTable”)。我完成了那部分。但是现在我想在单击 myTable 中的一行时获取行数据。我也有点。单击该行时,我确实得到了数据,除非我单击该行,否则我会在警报中多次获得相同的数据。第一次单击该行时,我会收到一个警报,第二次是两个……以此类推。请指出我的错误。这是我的html:
<div>label>First Name: </label>
<input id="firstname" type="text" name="first name"/>
<br>
<label>Last Name: </label>
<input id="lastname" type="text" name="last name"/>
<input type ="button" value = "Submit" onclick ="addRow()" >
</div>
<table id="myTable" border=1 onclick="load_row()">
<tr >
<td>
First Name
</td>
<td>
Last Name
</td>
</tr>
</table>
这是我的 javascript:此函数将用户输入作为新行添加到表中:
var addRow = function(){
var firstname = document.getElementById("firstname").value;
var lastname = document.getElementById("lastname").value;
$("#myTable tr:last").after("<tr><td>" + firstname + "</td><td>" + lastname + "</td></tr>" );
};
此功能会提醒我单击的行的详细信息。这就是我想我做错了什么的地方:
var load_row = function(){
var rows = $("#myTable tr");
rows.click(function() {
var data = new Array();
var cells = $(this).find("td");
cells.each(function(i, cell) {
data.push($(cell).text());
});
alert(data);
});
};