我希望有一个表,其单元格中包含来自MySQL的数据。
该表有许多TD,具有Id。
我想将单元格的id传递给函数,以便我可以编辑其内容:
document.getElementById(IndexedActionButton).innerHTML = '<input type="Button" name = "EditActionButton" id="EditActionButton" onClick="SaveUpdateToActionList("Cell_ID")" value="Edit Action" />';
function SaveUpdateToActionList(Cell) {
alert(Cell);
document.getElementById(Cell).innerHTML = 'Here';
}
当我显示alert(Cell);
时,我看到它发送了Text&#34; Cell_ID&#34;,而我想在那里看到数据ActionButton386。
任何帮助表示感谢。
答案 0 :(得分:0)
您可以通过将onClick脚本设置为SaveUpdateToActionList(this);
然后,在SaveUpdateToActionList
的正文中,Cell
将引用刚刚点击的按钮。然后,您可以走向DOM以获取它所属的TD。
答案 1 :(得分:0)
你可以试试这个:
document.getElementById(IndexedActionButton).innerHTML = '<input type="Button" name = "EditActionButton" id="EditActionButton" onClick="SaveUpdateToActionList()" value="Edit Action" />';
function SaveUpdateToActionList(event) {
alert(event.target.id);
document.getElementById(Cell).innerHTML = 'Here';
}
但如果我理解你正在尝试做什么,你应该有一个单一的事件列表器,它可以捕获所有单元格中的气泡事件,而不是为每个单元格附加一个onclick ....
答案 2 :(得分:0)
只需将事件监听器与指定innerHTML
属性分开注册:
Document.getElementById(IndexedActionButton).addEventListener('onclick', SaveUpdateToActionList);
将使用事件对象作为第一个参数调用 SaveUpdateToActionList
。您可以通过选中event.target
属性来访问单击了哪个元素。有关更多信息,请查看MDN - addEventListener文档