2012-08-13 3 views
0

tpl 파일에서 한 행을 삭제하려고합니다. 사용자가 특정 레코드를 클릭하면 해당 레코드를 삭제해야합니다. 자바 스크립트 함수sugarCRM의 TPL 파일에서 행 삭제

var temp=button.id; 
var idTemp1 = temp.split("_"); 
var rowNo = idTemp1[1]; 
var row = document.getElementById('table_row_'+rowNo); 
row.parentNode.removeChild(rowNo); 

에서 나는 rowNo을 받고 있지만하고 시도 얻을 널 점점 document.getElementById('table_row_'+rowNo);을 행하기 때. 설탕을 처음 사용합니다. 만약 당신이 솔루션을 제공하시기 바랍니다 친절한 미리 감사하십시오

+0

sugarCRM에 대해 아무것도 알지 못하지만 삭제하려는 것은 HTML 표의 행인지 생각하고 있습니까? document.getElementById ('table_row _'+ rowNo)가 작동하려면 ID가 현재 페이지에 있는지 확인해야합니다. – Mark

답변

0

나는 버튼이 모든 단일 행에 존재하는 "삭제"버튼이라고 가정합니다. 나 맞아? jQuery를 사용해 보시지 않겠습니까?

버튼의 ID가 "delete_8"같은 경우 :

$('#delete_8').click(function(event) { 
    var $target = $(event.target); 
    $target.closest('tr[id^=table_row]').remove(); 
}) 

이것이 본질적으로 수행하는 것은 그것이 버튼의 클릭 이벤트를 결합이다가. "target"클릭 된 요소를 $ target variable로 설정합니다. 변수에서 "table_row"로 시작하는 ID를 가진 TR (테이블 행이라고 가정 함) 인 가장 가까운 부모 노드를 찾고 제거합니다.

궁극적으로 이벤트 위임을 사용하여 클릭 이벤트를 해당 테이블의 모든 단추에 연결하는 대신 테이블의 모든 단추에 대한 클릭 이벤트 수신을 처리하도록 전환해야합니다.

+0

고맙습니다. 문제가 해결되었습니다. –

+0

안녕하세요, Nisar 님, 귀하가 StackOverflow에 익숙하다는 점을 알고 있습니다. 도움이 되었다면이 답변을 수락하십시오. – Mark