我有一张带复选框的桌子。当我选中复选框并单击复制按钮时,所选行要克隆到包含所选行的新表。目前表中选定的行不是克隆。我想使用JS没有jquery。我在下面添加了jsfiddle。
function cloneTable() {
var tabClone = document.getElementById('table');
var clone = row.cloneNode(true);
for (var i = 0; i < rowCount; i++) {
var row = tabClone.rows[i];
var chkbox = row.cells[0].childNodes[0];
if (chkbox.checked) {
table.appendChild(clone);
}
}
createTable();
}
答案 0 :(得分:2)
您正在调用function createTable
,从而导致从头开始创建表。您需要做的只是在表中附加行的克隆并将复选框更改为false以标记该过程已完成。
以下function cloneTable
以及cloneTable()
您添加&#34;第二个表格的创建&#34;为你:
var tableCopy = document.createElement('table');
tableCopy.id = "tableCopy";
tableContainer.appendChild(tableCopy);
function cloneTable() {
var tabClone = document.getElementById('table');
var rowCount = tabClone.rows.length;
for (var i = 0; i < rowCount; i++) {
var row = tabClone.rows[i];
var chkbox = row.cells[0].childNodes[0];
if (chkbox.checked) {
chkbox.checked = false;
var clone = row.cloneNode(true);
if(tableCopy.rows.length == 0){
var cloneHeader = tabClone.rows[0].cloneNode(true);
tableCopy.appendChild(cloneHeader)
}
clone.cells[1].innerHTML = tableCopy.rows.length - 1;
tableCopy.appendChild(clone);
console.log(table)
console.log(tableCopy)
}
}
}