2012-12-07 4 views
0

새로운 것을 배우고 배우려고합니다.PHP/jQuery DOM을 다시로드

페이지 왼쪽에 계정 이름 테이블이 있습니다. 해당 계정 이름 중 하나를 클릭하면 관련 필드가 양식으로 표시됩니다. 그런 다음 모든 필드를 업데이트하고 "업데이트"를 클릭하여 기본 SQL 데이터를 업데이트 할 수 있습니다.

다른 입력란을 추가 할 수있는 텍스트 입력란과 버튼이 있습니다. 이것은 단순히 채워진 필드로 계정 이름과 함께 새로운 레코드를 추가합니다. 이제 위에서 언급 한 표에서 해당 계정을 클릭 한 다음 새 계정에 대한 정보를 업데이트 할 수 있기를 원합니다. 그러나 표의 계정을 클릭해도 해당 필드가 양식에 표시되지 않습니다.

계정을 추가하려면 PHP 페이지에 게시물을 작성한 다음 해당 페이지에서 작성한 HTML을 테이블이 들어있는 div로로드하십시오. 여태까지는 그런대로 잘됐다.

$("button#new").click (function(){ 
    company = $("input#newaccount").val(); 

    $.post ('db_addaccount.php', 
    {'company':company},showaccounts) 
     return; 
    }) 

    function showaccounts(data){ 
    $('div#table').html(data) 
    } 

그러나, 나는이 새로로드 된 HTML은 DOM을 깨고 나는 더 이상 테이블의 행을 클릭하고 내 양식의 필드를 반영하기 위해 기대할 수 있다는 것을 알고 있어요.

.on 함수를 알고 있지만이 특정 상황에서 사용하는 방법/방법을 알아낼 수 없습니다.

의견을 보내 주시면 감사하겠습니다.

답변

1

바라기는 당신은 위임 된 이벤트 처리기로 on()을 사용해야하며 아래 예제에서 tableID은 테이블의 ID가 될 것입니다 ? 이는 동적이지) 및 .accounts 동적으로 $ .post 기능을 삽입 각 계정()과 같다 :

$('#tableID').on('click', '.accounts', function() { 
    //do stuff 
}); 
+0

것은 예,이 클래스를 사용하고 그리고 난 당신의 제안을 당신을 생각합니다. 내 문제는 내가 잘못된 이벤트에 IE를 사용했다는 것입니다 (IE 이벤트는 내가 표시하고 싶은 테이블이 아닌 새 계정을 추가합니다). – delpi767