javascript - For in Javascript 不适用于来自 JSON 的事件

标签 javascript json

我收到了 JSON 的这一部分:

"out": {
    "gen": [
      {
        "title": "Options",
        "opt": [
          {
            "label": "Button1",
          },
          {
            "label": "Button2",
          }, 

并且,我尝试将每个 labale 值作为按钮,因为我需要将这些按钮的值发送到函数。 send() 函数:

var options = '';
var p;
for(let i=0;i<q.out.gen[0].opt.length;i++) {
    var opt=options +=`<input id='element' type='button' value="${q.out.gen[0].opt[i].label}">`;

                   $(document).ready(function(){
                    $("#element").click(function(){
                      p = ($(this).attr("value"));
                      send(p);
                    });
                  });
                  }

          var resp = rch(
            `<b>${opt}<br>`, 
            );

代码放置了我需要的按钮,但在执行它时,只有第一个按钮的第一个标签起作用,并发送两次

"Button1" "Button1"

第二个按钮“Button2”不起作用。

我该如何解决这个问题?每个标签都是一个按钮,按下它时会发送每个按钮的值,即 “Button1”“Button2”。 谢谢

最佳答案

您可以尝试将 id='element' 切换为 class='element' 吗? 如果使用事件委托(delegate)进行更改后仍然无法正常工作,也可能使用 $(document).on("click", ".element", function() {...} 进行修复..

关于javascript - For in Javascript 不适用于来自 JSON 的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58941450/

相关文章:

java - 如何在 Spring Boot Rest 中正确发布 json 对象

javascript - React 没有显式导出 forwardRef 吗?

javascript - 搜索会导致错误,例如 Uncaught (in Promise) TypeError : Cannot read property 'Search' of undefined at eval (data-source. js:14)

json - 如何在 React 中将 JSON 响应呈现为下拉列表

android - 如何测试 native 应用程序安装横幅是否有效

java - Appengine java - 泽西/ jackson JaxbAnnotationIntrospector NoClassDefFoundError

javascript - 使用 jQuery 将 JSON 字符串转换为数据表

javascript - 使用$route获取URL参数

javascript - 通过单击链接从数据库加载

javascript - 在 Linux 16.04 中使用 create-react-app 创建应用程序失败