2017-03-31 1 views
1

jquery/ajax를 사용하여 페이지 매김이있는 테이블을로드하는 단일 PHP 페이지가 있습니다. 페이지 번호가 매겨진 페이지 (처음 페이지가 아닌)가 클릭되면 행을 다른 페이지로 리디렉션 할 수 없습니다.페이지 매김 후 PHP/Ajax/jquery 동작이 작동하지 않습니다.

다음은 테이블에 대해 생성 된 html의 간단한 코드입니다. 페이지 매김 페이지가 바뀔 때마다 html이 올바르게 생성된다는 것을 알고 있습니다. 테이블 데이터를로드의 성공을

<tr class="table-row" data-myredirect="http://example.com/page"> 
<td>blah blah</td> 
</tr> 

(사용자가 쿼리를 실행 한 후 한 번만 실행), 나는이 (간체) 다음 실행

success:function(result){ 
     //display table data (not shown) 
$(".table-row").click(function() { 
     //redirect 
     window.document.location = $(this).data("myredirect"); 
    }); 
} 

사용자가 페이지 매김 링크에서 다른 페이지를 선택 다음이 실행됩니다.

//executes code below when user click on pagination links 
    $("#results").on("click", ".pagination a", function (e){ 
     e.preventDefault(); 
     $(".loading-div").show(); //show loading element 
     var page = $(this).attr("data-page"); //get page number from link 
     $("#results").load("test.php",{"page":page, "myparam":searchItemOne}, function(){ //get content from PHP page 
      $(".loading-div").hide(); //once done, hide loading element 
      //fixes scrolling up bug 
      $('html, body').animate({ 
     scrollTop: $("#results").offset().top 
    }, 0); 
     }); 

    }); 

다음 페이지 매김 페이지로 이동하면 조치가 더 이상 작동하지 않을 수있는 원인은 무엇입니까? 요청시 더 많은 코드를 포함 할 수 있습니다.

+1

좀 더 완전한 (그래도 최소한의) 예를 제공 할 수 있습니까? 나는 의심 스럽지만 * 이것이 https://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements와 중복되는 것을 의심하고 있습니다. 그러나 불완전한 세그먼트가 게시 된 것을 확실히 알기는 어렵습니다. – David

+0

PHP 또는 자바 스크립트 유형 코드 만 신경 써야합니까? – heyitsmyusername

+0

문제가 클라이언트 측이면 클라이언트 측 코드가 적절한 것으로 보입니다. – David

답변

1

.table-row이 자바 스크립트 코드 (두 번째로 AJAX를 통해 HTML을로드 한 후)로 렌더링되어 리디렉션 코드가 새로운 table-row을 알 수 없기 때문에 생각합니다. 이 새로운 HTML
로 다시로드 있도록
php 파일의 리디렉션 코드

$(".table-row").click(function() { 
     //redirect 
     window.document.location = $(this).data("myredirect"); 
    }); 

을 넣어보십시오.

관련 문제