2013-04-02 5 views
-1

나는 내가 뭘해도 상관없이 행을 삭제할 수없는 테이블을 가지고 있습니다. Json을 사용하여 php/mysql 조회에서 생성 된 5 열과 몇 행의 간단한 테이블. 나는 결국 버튼 클릭으로 mysql 테이블에서 행을 삭제하고 싶지만 jquery에서 행을 삭제하는 "쉬운"부분에 붙어있다. 여기 Onclick 테이블 행 jQuery를 삭제

내 테이블을 생성하는 코드입니다 :

var table = $('<table></table>').addClass('tbc'); 
for (var i = 0; i < json.admin_tables.length; i++) { 
var row = $('<tr></tr>').addClass('guid').attr('id', i).add('<td>' + json.admin_tables[i].Room + '</td><td>' + json.admin_tables[i].time + '</td><td>' + json.admin_tables[i].Desk + '</td><td>' + i + '</td><td><input type="button" id="'+ i + '" class="delete" value="Delete row ' + i + '"</td>'); 
table.append(row); 
$('#roomTable').append(table); 
} 

다음 코드는하지만 아무 것도 (방화 광에 오류)

$('.delete').click(function() { 
    $(this).closest("tr").remove(); 
} 

에 "TD"을 "TR"을 것이다 변경하지 않습니다 버튼 만 삭제하면 모든 필드를 개별적으로 삭제하고 싶지 않습니다!

답변

2

.delete 요소는 동적으로 삽입됩니다, 그래서 당신은 그들을 대상으로 위임 이벤트 핸들러가 필요합니다

$('#roomTable').on('click', '.delete', function() { 
    $(this).closest("tr").remove(); 
}); 
+0

@nathanhayfield을 - 왜? – adeneo

+0

아데노 아데노는 나를 위해 아무 것도하지 않습니다. 나는 빈()을 시도해 보았다. 이전 jquery를 사용하는 경우 http://api.jquery.com/delegate/가 아닌 필요할 때마다 http://examtime.atwebpages.com/admintable.php – user1569869

+0

을 볼 수 있습니다. @ adeneo 그것에 대해 더 생각 나는 그것이 단지 속도 것 같아요. 제거가 오랜 시간이 걸렸고 먼저 비워서 어떤 이유로 더 빠릅니다. –