2012-04-02 136 views
1

雖然我知道這不是一個大問題,但我正在提取一個問題,但是和我一樣,有些東西與我不同。我有一個頁面,它有一個記錄列表,從數據庫中獲取。現在有一個按鈕在那裏,點擊記錄後,會彈出一個彈出窗口以及一些數據。裏面那個彈出另一個鏈接的地方叫做「還原」,每當鏈接被點擊時數據庫已經更新。現在,這對我來說沒問題。但是,每當我關閉彈出窗口時,我的記錄列表都會自動更改,因爲某些記錄已被恢復。但是,除非我不刷新頁面,否則我不會得到結果。那麼,如何能做到這一點,請幫助我....jquery和ajax頁面刷新問題

$(function() { 
     $(".delete").click(function() { 
      $('#load').fadeIn(); 
      var commentContainer = $(this).parent(); 
      var id = $(this).attr("id"); 
      var string = 'id='+ id ; 

      $.ajax({ 
       type: "POST", 
       url: "restore-request-process.php", 
       data: string, 
       cache: false, 
       success: function(){ 
       commentContainer.slideUp('slow', function() {$(this).remove();}); 
       $('#load').fadeOut(); 
       } 

      }); 


      //return false; 
     }); 
    }); 

在恢復請求,process.php頁我剛更新數據庫和回聲的ID。

回答

0

數據庫更新後,調用一個函數來更新前端或簡單地使用重新加載頁面location.reload()

0

你需要在彈出的窗口中調用函數

父窗口

function Update(){ 
//global function in parent, update div 
} 

已經聲明全局函數

window.opener.Update(); 

將自動重新加載您的div,而不是所有頁面,如果沒有必要

0

假設這是您的房源格式

<table> 
<?php 
foreach($results as $result) { ?> 
<tr id="my_div"> 
<td><?php echo $result->name?></td> 
<td class="delete" id="<?php echo $result->id?>"><img src="delete.png"/></td> 
</tr> 

<?php } ?> 
</table> 

在恢復請求,process.php寫一個獲取從數據庫中的所有結果的查詢,只不過是迴應這樣

$result = mysql_query("SELECT * FROM my_table"); 

while($row = mysql_fetch_array($result)) 
    { 

echo '<td>'. echo $row["name"].'</td> 
    <td class="delete" id="'. echo $row["id"].'"><img src="delete.png"/></td>' ; 

    } 

和的onSuccess結果用響應文本替換my_div中的所有內容 CODE IS NOT TESTED 有關更多參考資料,您可以通過this link