Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery.load()回调函数在完成之前运行_Javascript_Jquery - Fatal编程技术网

Javascript jQuery.load()回调函数在完成之前运行

Javascript jQuery.load()回调函数在完成之前运行,javascript,jquery,Javascript,Jquery,我使用jQuery的.load()将页面上的div替换为php文件中的表。我正在使用回调函数运行另一个函数,该函数修改刚刚加载的数据,但它在加载表之前运行该函数,导致该函数不执行任何操作。 是否有一种方法可以强制回调在加载后运行?我让.load()每10秒运行一次,所以我不能让它等待 以下是我想做的: function fixSelected(){ $.each(selected, function(index, value) { document.getElementById(va

我使用jQuery的.load()将页面上的div替换为php文件中的表。我正在使用回调函数运行另一个函数,该函数修改刚刚加载的数据,但它在加载表之前运行该函数,导致该函数不执行任何操作。
是否有一种方法可以强制回调在加载后运行?我让.load()每10秒运行一次,所以我不能让它等待

以下是我想做的:

function fixSelected(){
  $.each(selected, function(index, value) {
    document.getElementById(value).innerHTML = '-';
  });
}

function refreshTable() {
    $('#tablefill').load('table.php', function(){
      fixSelected();
    });
}

所选变量
是一个数组,其中包含正在加载的表上几个按钮的ID。

您需要将回调函数作为load()函数的第三个参数传递,如下所示:

function fixSelected(){
    $.each(selected, function(index, value) {
        document.getElementById(value).innerHTML = '-';
    });
}

function refreshTable() {
    $('#tablefill').load('table.php', fixSelected);
}
我在这里找到了解决方案:

请参阅此JSFIDLE以获取示例:

我在table.php中有一个
$(document).ready(函数(){
)导致回调函数无法工作。不确定为什么会发生这种情况,但删除它可以解决所有问题。

我更喜欢使用.ajax(…);您可以在其中定义成功和错误函数。您的代码看起来是正确的。可能您正在其他地方调用
fixSelected
。请提供一个演示来重现此问题。您认为在请求完成之前调用回调的原因可能重复?如果我在fixSelected之前或之后放置一个警报()()警报在加载之前出现。这更合适,因为您从另一个问题中获取了此答案,并在注释中标记为重复,而不是继续用相同的答案回答新问题。不幸的是,我还没有足够的声誉来评论问题。我向MOOcow102提供了运行的代码读取y复制并运行。这不起作用。出于某种原因,当回调函数spot中有任何内容时,它只在加载页面时运行,而不是在刷新table.php时运行。您是否查看了我在注释中向您显示的问题?您需要在函数中输入一个参数,以便将其删除wait@PWKad试着回答你发帖的问题d、 但它不起作用。