javascript - 在 JavaScript 中动态创建复选框

标签 javascript jquery json checkbox

我正在尝试动态创建复选框。但是我不知道这段代码有什么问题。有人请帮助。如果您需要更多详细信息,请发表评论。

$.getJSON(url, function(json) {
  console.log(json);
  console.log(json.items.length);

  for (var i = 0; i < json.items.length; i++) {

    console.log(json.items[i].name);

    var checkbox = document.createElement('input');
    checkbox.type = "checkbox";
    checkbox.name = "name" + json.items[i].name;
    checkbox.value = "value";
    checkbox.id = "id" + i;
  }
});

谢谢

最佳答案

您似乎永远不会将那些动态创建的复选框附加到您的 DOM,因此您在循环内创建的这个 checkbox 变量只会被垃圾收集。如果您希望这些复选框出现在某处,请确保您确实将它们添加到 DOM:

document.body.appendChild(checkbox);

当然,除了简单地将它们附加到 DOM 的 body 之外,您可能还想将它们附加到某个特定元素,在这种情况下,您可能需要先获取该元素:

var someDiv = document.getElementById('someId');
someDiv.appendChild(checkbox);

或者如果您使用的是 jQuery:

for (var i = 0; i < json.items.length; i++) {
    $('<input />', {
        type : 'checkbox',
        id: 'id' + i,
        name: 'name' + json.items[i].name,
        value: 'value'
    })
    .appendTo("#someId"); 
}

你显然有相应的容器来容纳那些新添加的元素:

<div id="someId"></div>

关于javascript - 在 JavaScript 中动态创建复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675764/

相关文章:

Angular 应用程序的 php JSON 数据结构

javascript - 在 Node.js/Express 和 AngularJS 中发出 CORS 请求

javascript - JavaScript 中的对象操作数组

javascript - 使用 Jquery 非常快地切换类

jquery - 使用 html 类而不是 del 元素来覆盖文本

SQL XML 或 JSON 通过 ASP.NET 返回到 Objective-C

javascript - 无法从 Node JS 连接到 mongo 本地数据库

javascript - 创建一个圆形对象并将它们插入数组

javascript - 使用 datetimepicker 禁用早于今天的日期

javascript - 将 div 的中心定位到页面上的给定坐标