[英]Jquery/Ajax running before dynamic php content loaded
我有一个动态页面,当单击预订链接时,该页面将从外部PHP文件加载。
我的问题是我有时需要在PHP页面完全加载之前尝试执行的jQuery代码直接运行(具体请参见下面的内容,然后删除部分)。 因此,当我尝试加载div时,jQuery有时可以工作,而其他时候则不能。
根据我在其他示例中看到的内容, $(document).ready(function()
应该阻止jQuery在页面完全加载之前执行,但是由于我正在加载特定的div(内容)而不是整个页面似乎不起作用?
$(document).ready(function(){
$(document).on('click', '.booking', function (){
$('#content').load('calendar.php');
$.getJSON(url,data, function(data) {
$.each(data, function(index, data) {
$("#blocksid"+data.slot_id).css("background-color","#009cd0");
$("#follow"+data.slot_id).hide();
$("#remove"+data.slot_id).show();
});
});
return false;
});
});
在此先感谢您的协助!
您需要设置:
$.ajaxSetup({ async: false });
然后通过以下方式将其重新打开:
$.ajaxSetup({ async: true });
或使用
$.ajax({
async:false
});
为了以可预测的方式实现您的期望,应在将内容加载到div之后运行相关的javascript代码。 只需为load方法创建一个回调函数,并将您的依赖代码包含在其中。
$('#content').load("calendar.php", function() {
//put the code here, that you need to run after loading content to above div
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.