2011-09-02 114 views
0

我正在通過JavaScript創建一個動態表。行和列從用戶和創建表。當用戶進入第二次我刪除所有目前的行和創建新的行。一切工作正常,但刪除時,當我使用註釋的代碼,它不工作,而其他人工作正常。可以有人告訴我這是什麼原因?動態錶行刪除問題

//刪除已有的行: -

for(k=tblObj.rows.length;k>0;k--) 
tblObj.deleteRow(k-1); 

上面的邏輯是工作的罰款,但下面一個沒有工作,爲什麼???

  /*for(k=0;k<Number(tblObj.rows.length);k++) 
       { 
        tblObj.deleteRow(k); 
       }*/ //This Logic is not working:Why??? 
+0

*這個邏輯是不工作*:你得到一個錯誤信息? – Nivas

+0

你介意使用jQuery嗎? [Flexgrid](http://www.flexigrid.info)是創建優秀表格的好工具。 – Nivas

+0

即使我刪除Number()也存在問題 – Pranav

回答

4

tblObj.rows.length值是針對每個循環執行計算的,並且該數組每次都變短。

嘗試用

var len = tblObj.rows.length; 
for(k=0;k<len;k++) 
{ 
    tblObj.deleteRow(0); 
} 
+1

這段代碼將刪除行後 –

+0

半計數後,將失敗,我想現在沒關係:) –

+0

哦,我的上帝.. Thanx很多.. – Pranav

4

如果你從一開始就刪除行,你必須刪除第一行rowCount時間:

var rowCount = tblObj.rows.length; 
for(k=0;k<rowCount;k++) 
{ 
    tblObj.deleteRow(0); 
} 
+0

:-Thanx很多.. – Pranav