当在javscript中创建复选框时,获得了[object HTMLInputElement]

时间:2019-01-14 20:18:51

标签: javascript html

这是我的代码

buffer

我必须以表格格式获取带有json数据的复选框。因此,首先我定义了json,然后为每行添加了复选框。我计划在每个 data = [{ name: 'Yemen', code: 'YE' }, { name: 'Zambia', code: 'ZM' }, { name: 'Zimbabwe', code: 'ZW' } ]; function addKeyValue(obj, key, data) { obj[key] = data; } var checkbox = document.createElement('input'); checkbox.type = "checkbox"; checkbox.name = "key"; checkbox.id = "id"; newinfo = data.map(function(person) { return addKeyValue(person, 'checkbox', (checkbox)); }); var columnHeadings = Object.keys(data[0]); var columnCount = columnHeadings.length; var rowCount = data.length; var table = document.createElement('table'); document.getElementById("data-list").appendChild(table); var header = table.createTHead(); var row = header.insertRow(-1); for (var i = 0; i < columnCount; i++) { var headerCell = document.createElement('th'); headerCell.innerText = columnHeadings[i].toUpperCase(); row.appendChild(headerCell); } var tBody = document.createElement('tbody'); table.appendChild(tBody); for (var i = 0; i < rowCount; i++) { // each row var checkbox = document.createElement('input'); row = tBody.insertRow(-1); for (var j = 0; j < columnCount; j++) { // each column var cell = row.insertCell(-1); cell.setAttribute('data-label', columnHeadings[j].toUpperCase()); var obj = data[i]; cell.innerText = obj[columnHeadings[j]]; } } 对象中添加复选框。但是在我的最终输出中,它给出了json而不是复选框。 请帮助我

1 个答案:

答案 0 :(得分:0)

您正在将element对象添加到newinfo数组中,如果您想要html,则需要将其添加到看起来像您稍后要在代码中执行的操作的dom中,这样做例如,如果您想将复选框添加到正文,请执行document.body.appendChild(checkbox)