2016-04-18 9 views
1

私はチェックボックスを持つテーブルを持っています。チェックボックスを選択してコピーボタンをクリックすると、選択した行が選択された行を持つ新しいテーブルにクローンしたいと思う。現在、テーブル内の選択された行はクローニングされません。 JS jqueryを使用したい私は以下のjsfiddleを追加しました。jsでテーブルの行をクローン化しない

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(); 
} 

jsfiddle

+0

'i'は何ですか? – Rayon

+0

私は定義されておらず、クローンもあなたのコードに定義されていません – Manish

+0

&クローンは –

答えて

2

あなたは最初からテーブルを作成するにつながるfunction createTableを呼んでいます。必要なのは、行のクローンをテーブルに追加し、プロセスが完了したことを示すためにチェックボックスをfalseに変更することだけです。ここで

EDIT

function cloneTableあるとcloneTable()の上に、あなたはあなたのために「第二のテーブル」の作成を追加します。

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) 

    } 
    } 
} 
+0

コードをありがとう。しかし、それはcurrnetテーブルの行の隣に追加しています。私は新しいテーブルで選択した行をしたいです。 –

+0

コピーするたびに新しいテーブルを作成しますか?または、1つのテーブルから2つ目のテーブルに行をコピーしますか? – Konkko

+0

行を1つのテーブルから2番目のテーブルにコピーする –

関連する問題