ai didi

javascript - 在 onClick 中传递数据的替代方案?

转载 作者:行者123 更新时间:2023-11-28 20:37:13 24 4
gpt4 key购买 nike

我有一个网页,其中列出了某个服务器的所有数据库记录。每行旁边都有一些按钮,可让您重命名或删除记录。

INPUT( _value='Rename', _type="button", _class='appbutton', _onclick='renameApplication({0},"{1}")'.format(app.id,app.name))

这会生成类似以下内容的内容:

<input class="appbutton" type="button" value="Rename" onclick="renameApplication(3,"My Application")"></input>

(后端模板引擎是 web2py,但这并不重要。)

我正在动态生成这些按钮。目前我通过onClick传递每个按钮需要的数据。

根据jQuery.click() vs onClick我不应该再这样做了。但如果是这种情况,我应该如何传递数据,以便每次按钮单击都可以使用服务器端写入的动态数据(本例中的应用程序 ID 和名称。)

我无法通过记录进行 dom 遍历来获取数据,因为行结构可能会发生变化。

我无法使用自定义属性,因为我需要支持低于 HTML 5 的版本,而且我不会修改文档类型! (Can I add custom attribute to HTML tag?)

我唯一能想到的就是将数据放入 id 属性中然后解析它,但这看起来很hackish。

有更好的方法吗?

最佳答案

您可以尝试使用jQuery on将事件 Hook 到每个按钮上。您可以将服务器 ID 放入 jQuery 可以理解的数据属性中,不会出现重大问题:

<input class="appbutton" type="button" value="Rename" data-id="3"></input>

然后是js:

$('#container').on('click', '.appbutton', function () {
var serverId = $(this).data('Id'); //this binds to html input
renameApplication(serverId);
});

关于javascript - 在 onClick 中传递数据的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15143610/

24 4 0
文章推荐: c# - 如何在循环中调用正在运行的 Ranorex 测试?
文章推荐: iphone - 无法使用 Google Mac 工具箱中的几个类编译我的应用程序
文章推荐: javascript - 是否可以为带有操作的表单中的按钮添加 onclick?
文章推荐: 带计时器的 JavaScript 游戏
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com