2015-10-15 54 views
0

我有使用javascript在表中添加和刪除行兩種功能:更正行的序列號唯一

function addRow() { 
    //document.getElementById("div_dea").style.display = "none"; 
    document.getElementById("div_orderlist").style.display = "block"; 

      var table = document.getElementById("ordertable"); 
      var rowcount = document.getElementById("ordertable").rows.length;  
      var row = table.insertRow(rowcount);   
      row.id="row_"+rowcount; 
      var cell1 = row.insertCell(0); 
      var cell2 = row.insertCell(1); 
      var cell3 = row.insertCell(2); 


      // Add some text to the new cells: 
      var sel = document.getElementById("select_product_name"); 
      var optiontext = sel.options[sel.selectedIndex].text; 
      cell1.innerHTML = rowcount; 
      cell2.innerHTML = optiontext; 
      cell3.innerHTML = "abc"; 
} 

刪除行如下:

function deleteRow(){ 
var table = document.getElementById("ordertable"); 
var rowcount = document.getElementById("ordertable").rows.length; 

alert("first"+rowcount); 

for(var i=1;i<rowcount;i++){  
    row = table.rows[i];  
     if(document.getElementById(row.id).style.backgroundColor =="red"){   
      table.deleteRow(row.rowIndex); 
     } 

    } 


    alert("second"+rowcount); 

} 

雖然addRow()我添加序列號爲:cell1.innerHTML = rowcount; 我需要更正刪除後的序列號:

行被刪除但alert("second"+rowcount);甚至不能刪除。刪除後如何更正行的序列號。

注:使用JavaScript只

+0

能否請您創建小提琴? –

回答

1

使用此代碼

function updateRowCount(){ 
     var table = document.getElementById("ordertable"); 
     var rowcountAfterDelete = document.getElementById("ordertable").rows.length; 
     for(var i=1;i<rowcountAfterDelete;i++){  
       table.rows[i].cells[0].innerHTML=i; 
      }} 
+0

我在'deleteRow()'的末尾調用了你的函數,但是這個函數甚至沒有調用! – Santhucool

+0

您的deleteRow()方法中有語法錯誤。請從此方法中刪除多餘的大括號。 –

+0

其錯字錯誤。仍然不工作,因爲你說! – Santhucool