如何在通过迭代创建HTML table时动态设置<TD>的id,然后在onBlur动作中获取ID值?
How to dynamically set id of <TD> when creating HTML table via iteration and then get ID value onBlur action?
我正在尝试通过遍历数组来动态创建 HTML table,并且在每次迭代中,从 stepper 变量中将特定单元格的 ID 设置为 i 的值在for循环中。然后我希望能够在 onBlur 事件之后访问单元格 ID。
这是我试过的:
function saveToDB(id) {
document.write(id);
}
function makeEditTableHTML(studentArray) {
var result = "<table id='dataEditTableid' class='stripe' border=1><thead><tr><td><b>ID</b></td><td><b>Student Email</b></td><td><b>Target</b></td></tr></thead>";
result += "<tbody>";
for(var i=0; i<studentArray.length; i++) {
result += "<tr>";
result += "<td>"+studentArray[i][1]+"</td>";
result += "<td>"+studentArray[i][0]+"</td>";
result += "<td id=i contenteditable='true' onBlur='saveToDB(this.id)'></td>";
result += "</tr>";
}
result += "</tbody></table>";
return result;
}
document.write
仅用于测试目的,但无论正在编辑的单元格如何,它始终输出字母 i
。
如何对其进行编程,以便在 onBlur 事件发生时将活动单元格的 ID 值传递到 saveToDB 函数?
提前致谢。
您正在将字母 i
硬编码到单元格中。您需要连接它,所以:
"<td id=i contenteditable='true' onBlur='saveToDB(this.id)'></td>";
需要:
"<td id=" + i + " contenteditable='true' onBlur='saveToDB(this.id)'></td>";
我正在尝试通过遍历数组来动态创建 HTML table,并且在每次迭代中,从 stepper 变量中将特定单元格的 ID 设置为 i 的值在for循环中。然后我希望能够在 onBlur 事件之后访问单元格 ID。
这是我试过的:
function saveToDB(id) {
document.write(id);
}
function makeEditTableHTML(studentArray) {
var result = "<table id='dataEditTableid' class='stripe' border=1><thead><tr><td><b>ID</b></td><td><b>Student Email</b></td><td><b>Target</b></td></tr></thead>";
result += "<tbody>";
for(var i=0; i<studentArray.length; i++) {
result += "<tr>";
result += "<td>"+studentArray[i][1]+"</td>";
result += "<td>"+studentArray[i][0]+"</td>";
result += "<td id=i contenteditable='true' onBlur='saveToDB(this.id)'></td>";
result += "</tr>";
}
result += "</tbody></table>";
return result;
}
document.write
仅用于测试目的,但无论正在编辑的单元格如何,它始终输出字母 i
。
如何对其进行编程,以便在 onBlur 事件发生时将活动单元格的 ID 值传递到 saveToDB 函数?
提前致谢。
您正在将字母 i
硬编码到单元格中。您需要连接它,所以:
"<td id=i contenteditable='true' onBlur='saveToDB(this.id)'></td>";
需要:
"<td id=" + i + " contenteditable='true' onBlur='saveToDB(this.id)'></td>";