2011-08-01 7 views
0

아래와 같이 ajax 호출의 JSON 응답을 기반으로 동적으로 html 테이블을 생성하고 있습니다. 클릭 가능한 이벤트를 json 객체에 대해 약간의 후 처리 작업을 수행 할 수있는 행과 연결하려고합니다. 그러나, 나는 그것을 집어하지 않습니다로서 json 개체를 함수 호출을 통해 전달할 수 없습니다. 여기 좀 도와주세요. json 객체의 속성을 전달하면이 작업을 수행 할 수 있지만 전체 객체가 전달되기를 원합니다.JSON 객체가 함수로 전달되지 않습니다.

 $.get(url, { param: ID}, 
      function(data){     

       $.each(data, function(index, product) {            
        $('<tr>').appendTo($body) 
        .append($('<td>').text(product.ID))   
        .append($('<td>').text(product.firstName))  
        .append($('<td>').text(product.lastName)) 
        .append($('<td>').text(product.email))   
        .append($('<td>') 
        .append($('<a href=\"javascript:deleteProduct(' + product.ID + ');\">') 
        .append($('<img src=\"/images/delete.png\">')))) 
        .append($('<td>') 
        .append($('<a href=\"javascript:editProduct(' + product + ');\">') 
        .append($('<img src=\"/images/edit.png\">')))); 

       }); 

내가 그러나 여기 editProduct (제품) FUNC 호출을 호출 할 수 없습니다 오전 deleteProduct (ID)가 작동합니다.

감사합니다.

답변

1

product는 문자열로 넣으려고하는 객체입니다. 즉,이 함수는 editProduct (Object [object]) 또는 유사하게 보입니다.

빠른 해결책은 문자열에 넣기 전에 stringify와 같은 방법을 사용하는 것입니다.

더 좋은 해결책은 인라인 js를 제거하고, 요소를 추가하기 전에 요소를 만들고, .click() 함수를 사용하여 대신 기능을 설정 한 다음 tr에 추가하는 것입니다.

+0

감사합니다. 콜백 함수를 onClick 이벤트에 등록하고 완료되었습니다. –

관련 문제