2016-07-27 6 views
-2

私はこのJSコードを使用して、ユーザーがボタンをクリックしたときに表の行を追加および削除します。行を追加すると、夢のように動作します。私の問題は、ユーザーが[削除]ボタンをクリックすると、最初の行を除くすべてが削除されます。最後の行だけが削除され、多くの行に追加されているとします。 、あなたがループのために必要といけない...これをテーブルの最後の行だけを削除するには?

<script> 

function addRow(tableID) { 
var table = document.getElementById(tableID); 
var rowCount = table.rows.length; 
if(rowCount < 50){       // limit the user from creating fields more than your limits 
    var row = table.insertRow(rowCount); 
    var colCount = table.rows[0].cells.length; 
    for(var i=0; i <colCount; i++) { 
     var newcell = row.insertCell(i); 
     newcell.innerHTML = table.rows[0].cells[i].innerHTML; 
    } 
}else{ 
    alert("Maximum Unit limit is 5"); 

} 
} 


function deleteRow(tableID) { 
var table = document.getElementById(tableID); 
var rowCount = table.rows.length; 
for(var i=0; i<rowCount; i++) { 
    var row = table.rows[i]; 
     if(rowCount <= 1) {    // limit the user from removing all the fields 
      alert("Cannot Remove all the fields."); 
      break; 
     } 
     table.deleteRow(i); 
     rowCount--; 
     i--; 
    } 
} 

</script> 
+1

http://stackoverflow.com/questions/10686888/delete-last-row-in-table –

+1

。 –

+0

私は最後の行を削除するためにループを実行しない場合は何の理由があります。 Imは行を追加できなくなりました。 – elliottdan

答えて

-1

を、私はこの

function deleteRow(tableID) { 
var table = document.getElementById(tableID); 
if(table.rows.length <= 1) {    // limit the user from removing all the fields 
    alert("Cannot Remove all the fields."); 
    break; 
} 
table.deleteRow(table.rows.length -1); 
} 

をしようと試みていないが、私は外のループを取る際に、[追加]ボタンは、もはや機能し

EDIT コードは動作します:

function deleteRow(tableID) { 
    var table = document.getElementById(tableID); 
    if(table.rows.length <= 1) {    // limit the user from removing all the fields 
     alert("Cannot Remove all the fields."); 
     break; 
    } 
    table.deleteRow(table.rows.length -1); 
} 
+1

このコードで何が間違っているのかよく分かりません... – KerDam

+0

私はこれをすべて準備しました。これは問題です。何らかの理由で、新しい行の追加ボタンが動作しなくなる – elliottdan

0

To deleteあなたがこれを使うことができるテーブルの最後の行。そして、なぜあなたは最後の行を削除するには、ループを実行している

function deleteRow(tableID) { 
    var table = document.getElementById(tableID); 
    var rowCount = table.rows.length; 
    table.deleteRow(rowCount -1); 
} 
+0

これは、ユーザーがすべての行を削除できるという問題です。私はそれが不可能であることを確かめたい。 – elliottdan

関連する問題