我正在获取一个问题,尽管我知道这不是一个大问题,但随着我的加入,有些东西对我来说是不同的。我有一个页面,它有一个记录列表,从数据库中获取。现在有一个按钮,点击记录后,将打开一个弹出窗口和一些数据。在弹出的另一个链接中,有一个被称为"恢复"的链接,只要点击该链接,数据库就会被更新。到目前为止,我还可以。但每当我关闭弹出窗口时,我的记录列表都会自动更改,因为有些记录已经恢复。但除非我不刷新页面,否则我不会得到结果。那么我该怎么做呢,请帮帮我。。。。
$(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;
});
});
在restore-request-process.php页面中,我只是更新了数据库并回显了id。
数据库更新后,调用一个函数更新前端或使用location.reload()
简单地重新加载页面
您需要在父窗口中声明全局函数
function Update(){
//global function in parent, update div
}
弹出窗口调用功能
window.opener.Update();
这将自动重新加载您的div,而不是所有页面,如果不需要
假设这是您的列表格式
<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>
在restore-request-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
有关更多参考,您可以通过此链接