2012-09-17 39 views
0

因此,我在我的頁面上有一個動態表,用戶可以添加,編輯和刪除條目。這是我從表中刪除一行的jquery代碼:JQuery刪除和整合數組

$("#table").on("click", "button", function() { 
     $(this).closest("tr").remove(); 
     num_rows--; 
     delete fname_new[num_row]; 
     delete lname_new[num_row]; 
     delete phone_new[num_row]; 
     delete email_new[num_row]; 
     delete ethnicity_new[num_row]; 
    }); 

但問題是,可以說fname_new數組有4行4行。所以fname_new將包含名數據的每一行所以它會是這樣的:

[row0,row1,row2,row3] 

但是,假設用戶刪除第2行,我注意到從上面的代碼中刪除護理,但隨後fname_new陣列的外觀像這樣:

[row0, ,row2,row3] 

,但我想鞏固它,使它看起來像這樣:

[row0,row2,row3] 

我該怎麼辦呢?我嘗試使用grep,但沒有奏效。有任何想法嗎?

+0

基本陣列操作...閱讀:http://www.elated.com/articles/manipulating-javascript-arrays/ – ahren

+1

不直接相關的刪除/拼接,但不是維護五個單獨的陣列,一個對於每個字段,我會使用一個數組,其中每個元素都是具有每個字段屬性的對象。 (然後刪除你只需要更新一個數組。) – nnnnnn

回答

2

用這個替換你的「刪除」語句,假設num_row是從零開始的。

fname_new.splice(num_row, 1); 
    lname_new.splice(num_row, 1); 
    phone_new.splice(num_row, 1); 
    email_new.splice(num_row, 1); 
    ethnicity_new.splice(num_row, 1);