2012-09-17 2 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이 0 기반 인 경우 "삭제"문을이 부분으로 바꾸십시오.

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