2013-01-12 2 views
0

다음은이 tutorial입니다. 내가 뭘하려는 데이터베이스의 테이블 (삽입, 삭제, 업데이트) 영향을받는 경우 응용 프로그램에서 테이블 F5, 또는 새로 고침 단추를 누르지 않고 새로 고칩니다. 튜토리얼을 따라 티와 행운을 따랐다. 아무 반응이 없습니다. 어떤 사람이 내 코드를 살펴보고 거기에 문제가 있는지 확인할 수 있다면 정말 고맙겠습니다.Jquery 테이블을 다시로드합니다.

<head> 
    <link href="core/styles/secondary.css" rel="stylesheet" type="text/css"/> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $.ajaxsetup({ 
      cache: false 
     }) 
     var ajax_load = "<img class='loading' src='core/images/load.gif' alt='Loading...'/> 

     var loadURL="inoffice.php"; 
      $("#start_que").click(function(){ 
       $("#que").html(ajax_load).load(loadURL); 
      }); 
    </script> 

이 내가 데이터베이스에서 같은 테이블에서 두 테이블을 echo'ing하고 inoffice.php뿐만 다른 플레이 테이블 코드 (NULL NULL이 아닌입니다)입니다

<body id="que"> 
<?php 
echo "Waiting"; 
echo 
    "<table border='2'> 
    <tr> 
    <th>ID</th> 
    <th>A Number</th> 
    <th>First Name</th> 
    <th>Last Name</th> 
    <th>Why</th> 
    <th>Student Comments</th> 
    <th>Additional Requirements</th> 
    <th>Signintime</th> 
    <th>Staff Member</th> 
    <th>Click if ready!</th> 
    </tr>" 
    ; 

    foreach($result as $row) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td> <a href=student.php?anum=" . $row['anum'] . " target='_blank'>" .$row['anum'] . " </a></td>"; 
    echo "<td>" . $row['first'] . "</td>"; 
    echo "<td>" . $row['last'] . "</td>"; 
    echo "<td>" . $row['why'] . "</td>"; 
    echo "<td>" . $row['comments'] . "</td>"; 
    echo "<td>" . $row['additional_req'] . "</td>"; 
    echo "<td>" . $row['signintime'] . "</td>"; 
    echo " 
     <td> <form action='counselor.php?id=" . $row['id'] . "' method='post' target='_new'> 
        <select name='namedrop'> 
         <option value=''>Counselor Name</option> 
         <option value=''></option> 
         <option value=''><option> 
         <option value=''></option> 
         <option value=''></option> 
         <option value=''></option> 
         <option value=''></option> 
         <option value=''></option> 
         <option value=''></option> 
        </select> 
      </td> 

      <td> <input type='submit' name='submit' value='Start Session' id='start_que'></td> 
      </form> </td>"; 
} 

id start_que와 함께 Session Start라는 버튼은 제출 버튼입니다. 버튼이 눌려지면 두 번째 테이블이 채워집니다. 두 번째 테이블의 코드 :

echo 
    "<table border='2'> 
    <tr> 
    <th>ID</th> 
    <th>A Number</th> 
    <th>First Name</th> 
    <th>Last Name</th> 
    <th>Why</th> 
    <th>Student Comments</th> 
    <th>Signintime</th> 
    <th>Staff Member</th> 
    <th>Counselor Start Time</th> 
    </tr>" 
    ; 

    foreach($result2 as $row2) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row2['id'] . "</td>"; 
    echo "<td><a href=student.php?anum=" . $row2['anum'] . " target='_blank'>" .$row2['anum'] . " </a></td>"; 
    echo "<td>" . $row2['first'] . "</td>"; 
    echo "<td>" . $row2['last'] . "</td>"; 
    echo "<td>" . $row2['why'] . "</td>"; 
    echo "<td>" . $row2['comments'] . "</td>"; 
    echo "<td>" . $row2['signintime'] . "</td>"; 
    echo "<td>" . $row2['counselorname'] . "</td>"; 
    echo "<td>" . $row2['counselor_start_time'] . "</td>"; 
} 

echo "</tr>"; 
echo "</table>"; 

내가 start_que로 버튼을 클릭하면 내 이해에서 위의 게시 된 튜토리얼은 첫 번째 테이블은 하나 개 적은 필드, 다음 두 번째 테이블이 새 DOM을로드하지만 어떤 이유로 보여줍니다 원하는 영향이 일어나지 않습니다.

도움을 주시면 감사하겠습니다.

+0

두 개의 개별 파일이 있어야합니다. 첫 번째 테이블에 대한 코드를 가진 mainpage.php, 그리고 ajax를 통해로드하는 두 번째 테이블에 대한 html 만 나열하는 inoffice.php. –

답변

0

언뜻보기에 주요 문제는 dom이 렌더링되기 전에 dom 이벤트 처리기를 연결하려고하는 것 같습니다. 모든 코드를 안에 넣으십시오. $(document).ready()이 함수는 dom이 준비되고 이벤트 처리기를 연결할 수있을 때 호출됩니다. 그 외에는

, 당신은 몇 가지 지수 및 세미콜론을 놓친 함수 이름 대신 ajaxsetup

<script type="text/javascript"> 
    $(function() { 
     $.ajaxSetup({ 
      cache: false 
     }); 

     var ajax_load = "<img class='loading' src='core/images/load.gif' alt='Loading...' />"; 

     var loadURL = "inoffice.php"; 

     $("#start_que").click(function() { 
      $("#que").html(ajax_load).load(loadURL); 
     }); 
    }); 
</script> 

편집의 ajaxSetup해야한다 : 당신의 설명에서, 당신은 첫 번째 테이블은 inoffice.php에서 말했다이지만 코드에서 inoffice.php을 두 번째 테이블을로드하는 URL로 나열합니다.

관련 문제