在加载动态php内容之前运行Jquery / Ajax

时间:2013-11-17 15:09:19

标签: php jquery ajax

我有一个动态页面,我在点击预订链接时从外部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;
});
});

提前感谢您的任何帮助!

2 个答案:

答案 0 :(得分:0)

您需要设置:
$.ajaxSetup({ async: false });
然后通过以下方式将其重新打开:
$.ajaxSetup({ async: true });
或使用

$.ajax({
async:false
});

答案 1 :(得分:0)

要以可预测的方式实现您的期望,您应该运行相关的JavaScript代码 将内容加载到div后。只需为load方法创建一个回调函数,并在其中包含您的相关代码。

$('#content').load("calendar.php", function() {
  //put the code here, that you need to run after loading content to above div
});