我有一个div,它根据SQL数据库中的某些变量加载数据和按钮。当我们单击这些按钮时,它会因为paypal api调用或其他任何内容(例如“取消激活此帐户”按钮)而更改这些SQL变量。
现在,当我点击按钮时,一切正常但页面保持不变,因此“停用按钮”仍然显示“停用按钮”,而不是说“帐户已停用”以及其他类似的示例。刷新页面时,它们会因SQL数据库已更改而更改
现在,我正在使用以下代码:
location.reload();
有效刷新页面,但是你必须点击几次才能回到你工作的div。这不是一件大事,但也很烦人。
我想知道的是,如果有人点击按钮(例如停用帐户),它会显示消息“帐户已成功停用”,然后只刷新DIV,然后加载基于SQL数据库更改的新信息。
到目前为止,我试过这个:
var url = 'index.php';
$('#div1-wrapper').load(url + ' #div1');
实际上做了我想要的但是在重新加载之后,我的“clicky”div(例如左上角的+)都没有工作,因此div不会像它应该的那样扩展。就像它重新加载时它没有在div上包含正确的名称,但是当我查看源代码时它是原始信息,因此重新加载要么没有发生,要么没有在源代码中更新。
我只需要知道是否有一种方法可以重新加载div,就好像页面已经刷新一样(以便重新运行PHP代码并重新评估变量)但不刷新页面。
另外我想用JQuery来做,因为当你点击我的按钮,它运行jquery $ .post并在它发出警报(数据)之后的帖子中它会刷新。
我的按钮调用如下所示:
$("[id^=cancelbtn_]").click(function(){
var formid = this.id;
var myRegexp = /^cancelbtn_(\d+)$/;
var match = myRegexp.exec(formid);
var which_row = match[1];
var username = $("#cancelbtn_"+which_row).attr("attr1");
$.post('post.php', {'administrator':7,'username':username}, function(data) {
alert(data);
location.reload();
});
});