2016-07-27 247 views
-2

我有这个JS代码来添加和删除表格行时,用户单击按钮。添加行就像做梦一样。我的问题是用户单击删除按钮,除第一行以外的所有内容都将被删除。我只希望删除最后一行,如果它们添加到很多行。如何只删除表格的最后一行?

编辑 我已经tryed这

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

但是,当我把环出添加按钮不再工作...

<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

因为什么原因,如果我不运行循环删除最后一行。我不再能够添加一行。 – 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); 
} 
+1

我不太明白这个代码有什么问题... – KerDam

+0

我试过这一切准备就绪。与此问题是。出于某种原因,添加新行按钮不再起作用 – elliottdan

0

要删除你可以使用这个表格的最后一行。

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

问题在于用户可以删除所有行。我想确定这是不可能的。 – elliottdan