【发布时间】:2017-06-28 17:08:51
【问题描述】:
我想动态地将复选框添加到 html 表中的多行,而不必为每个 .这可能吗? 下面给出了用于制作表格的代码 sn-p 和用于添加复选框的函数“check()”……但它不起作用。请帮忙。
// Builds the HTML Table out of myList json data.
function buildHtmlTable(myList) {
var columns = addAllColumnHeaders(myList);
for (var i = 0; i < myList.length; i++) {
var row$ = $('<tr/>');
for (var colIndex = 0; colIndex < columns.length; colIndex++) {
var cellValue = myList[i][columns[colIndex]];
if (cellValue == null) {
cellValue = "";
}
row$.append($('<td/>').html(cellValue));
}
$("#excelDataTable").append(row$);
}
}
// Adds a header row to the table and returns the set of columns.
function addAllColumnHeaders(myList) {
var columnSet = [];
var headerTr$ = $('<tr/>');
for (var i = 0; i < myList.length; i++) {
var rowHash = myList[i];
for (var key in rowHash) {
if ($.inArray(key, columnSet) == -1) {
columnSet.push(key);
headerTr$.append($('<th/>').html(key));
//check();
}
// check();
}
//check();
}
$("#excelDataTable").append(headerTr$);
return columnSet;
check();
}
function check() {
for (var i = 0; i < myList.length; i++) {
$('<input />', {
type: 'checkbox',
id: 'id' + i,
})
.appendTo("#excelDataTable");
}
}
【问题讨论】:
-
您正在尝试将复选框附加到
#excelDataTable(我假设这是table),这就是问题所在。您应该将它们附加到tds,而不是table -
好的...但是我们该怎么做呢?
-
能否请您对我的代码进行上述更改?
-
他的意思是,替换.appendTo("#excelDataTable");到 .appendTo("td");
-
可以添加
myList的示例数据吗?这对测试代码有很大帮助
标签: javascript jquery html