[英]How to load a div and refresh mysql query
我搜索了档案,并尝试了给出的示例,但还是没有运气。 我正在尝试做的是重新加载div并查询“ uid”变量。 我需要使用辅助文件来执行此操作还是可以在同一页面上完成? 非常感谢任何积极的帮助。
HTML:
<a id="cms-user-list1" href="#" onclick="clickToSlide(this.id, 'cms-user-orders-detail', '65');return false;">
Javascript:
function clickToSlide(er, cr, user_id)
{
var pathtopage = 'blah.php';
var a = parseInt($('#'+cr).css("left"));
if (a ==50) {
//SLIDE DIV LEFT AND LOAD UID
$('#'+cr).animate({"left": "+=600px"}, "slow").load(pathtopage, {uid: user_id});
} else {
//SLIDE CURRENT DIV RIGHT, LOAD NEW UID AND SLIDE LEFT
$('#'+cr).animate({"left": "-=600px"}, "slow");
$('#'+cr).animate({"left": "+=600px"}, "slow").load(pathtopage, {uid: user_id});
}
}
更新3/7
我无法找到解决问题的确切方法,因此我将数据发布到第二个PHP文件中,效果很好! 现在我在动画方面遇到了问题。 我可以再看一眼这是哪里出了问题吗?
function populateDetails(er, div, url, user_id) {
var a = parseInt($('#'+div).css("left"), 10);
// ajax request
$.ajax({
type : 'POST',
url : url,
data : "uid="+user_id,
beforeSend : function() {
$('#'+div).html('processing');
},
error : function() {
alert("Something went wrong. Try again.");
},
// success callback
success : function (response) {
if (a ==50) {
$('#'+div).animate({"left": "+=600px"}, "slow").html(response);
} else {
$('#'+div).animate({"left": "-=600px"}, "slow").html('', function() {
$('#'+div).html(response).animate({"left": "+=600px"}, "slow"); // im not certain if `this` will work here
});
}
},
timeout : 3000,
});
};
注意:我不太喜欢使用jQuery,因此我的代码可能无法正常工作!
我不明白为什么您不能重复使用同一文件(尽管您可能需要做一些事情以确保它不在本地缓存它)
我认为您可能想更改处理div的方式。
以下(希望)将容器滑开,并开始(重新)装载内容,然后在完成装载后将容器滑回。 (希望链接顺序正确,不确定它们执行的方向是什么!)
$('#'+cr).animate({"left": "-=600px"}, "slow").load(pathtopage, {"uid": user_id}, function() {
$(this).animate({"left": "+=600px"}, "slow"); // im not certain if `this` will work here
});
您可能让animate()
完整回调触发了.load()
,以避免可能的内容闪烁。
更新资料
我认为您的问题是您的参数er
, div
, url
和user_id
丢失了(我不知道这是事实)。 我添加了context参数,并将您的$('#'+div)
更改$(this)
并重新排序了最后一个.html()
东西,因为它没有回调,即.animate()
做。
function populateDetails(er, div, url, user_id) {
$.ajax({
type: 'post',
url: url,
data: 'uid='+user_id;
context: $('#'+div),
beforeSend: function() {
$(this).html('processing');
},
error: function() {
alert("Something went wrong!");
},
success: function(response) {
var a = parseInt($(this).css('left'), 10);
if (a == 50) {
$(this).animate({'left': '+=600px'}, 'slow').html(response);
} else {
$(this).animate({'left': '-=600px'}, 'slow', function() {
$(this).html(response).animate({"left": "+=600px"}, "slow");
}).html('');
}
},
timeout: 3000
});
};
如果您可以多描述一下“问题”,那将有所帮助:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.