0

如何创建一个在他的onClick事件中调用带有对象的函数的按钮?我的特殊情况下的实体键?

我在我的数据库中填充所有对象的表并想要添加一个删除按钮......删除功能需要密钥,但我无法让它工作

像下面这样的东西不起作用:

htmlString += "<td class='devicenameCol'><input id=\"deleteQuestion\" type=\"button\" value=\"löschen\" onclick=\"deleteQuestion(" + item.key + ");\"/></td>";
4

2 回答 2

0

我在表格中使用此 HTML / Jinja 代码在表格行中创建按钮:

<td class="center"><input class="button" type="submit" name="eid={{ rows.eid }}" value="{{ rows.caption }}"></td>

在哪里 :

  • rows.eid 包含实体 ID
  • rows.caption 包含按钮文本

我使用“eid=”作为令牌在请求数据中查找按钮(令牌)。

于 2013-05-31T14:02:50.453 回答
-1

有几种方法可以解决这个问题。如果您正在使用该onclick属性,则可以使用如下参数调用该方法:

<button onclick="myFunction(value)" />

根据您填充列表的方式,这可能很简单。例如,如果您使用 ASP.NET MVC,您可以执行以下操作

@foreach(var entity in myEntitireDatabase)
{
    <button onclick="myFunction(@entity.Key)" />
}

但是,如果您使用 JavaScript 填充表,您可能希望将键绑定到属性,并从元素中读取它。例如,您可以像这样添加一个 data-key 属性:

<button data-key="value" />

并且在 JavaScript 中为每个按钮附加一个处理程序

button.addEventListener("click", myHandler)

在 myHandler 函数中,this指针设置为元素,因此您可以简单地读取 data-key 属性:

function myHandler(){
    var key = this.getAttribute("data-key");
    //Code to perform delete
}
于 2013-05-31T10:51:49.917 回答