首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不能将变量作为onClick函数中的参数传递

不能将变量作为onClick函数中的参数传递
EN

Stack Overflow用户
提问于 2015-01-07 19:45:21
回答 3查看 88关注 0票数 1

我想要一个表格,它的单元格中充满了来自MySQL的数据。

这个表有很多Id,它们有一个Id。

我希望将单元格的id传递给函数,以便编辑其内容:

代码语言:javascript
运行
复制
document.getElementById(IndexedActionButton).innerHTML = '<input type="Button" name = "EditActionButton" id="EditActionButton" onClick="SaveUpdateToActionList(&quot;Cell_ID&quot;)" value="Edit Action" />';

function SaveUpdateToActionList(Cell) {
    alert(Cell);   
    document.getElementById(Cell).innerHTML = 'Here'; 
}

当我显示alert(Cell);时,我看到它发送文本"Cell_ID",而我想在那里看到数据ActionButton386。

任何帮助都很感激。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-07 20:22:10

通过将onClick脚本设置为SaveUpdateToActionList(this);,可以传递要单击的元素。

然后,在SaveUpdateToActionList正文中,Cell将引用刚才单击的按钮。然后,您可以沿着DOM走到它所属的TD。

票数 0
EN

Stack Overflow用户

发布于 2015-01-07 20:32:33

你可以试试这个:

代码语言:javascript
运行
复制
   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'; 
   }

但是,如果我正确地理解了您想要做的事情,那么您应该有一个事件列表器来捕捉所有单元格中的模糊事件,而不是在每个单元格上附加一个单击按钮.

票数 0
EN

Stack Overflow用户

发布于 2015-01-07 20:45:01

只需将事件侦听器与指定innerHTML属性分开注册:

代码语言:javascript
运行
复制
Document.getElementById(IndexedActionButton).addEventListener('onclick', SaveUpdateToActionList);

将以事件对象作为第一个参数调用SaveUpdateToActionList。您可以通过检查event.target属性来访问单击的元素。有关更多信息,请参阅MDN - addEventListener文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27827410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档