-1

我正在使用 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();
    });
}

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

4

2 回答 2

-1

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

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

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

我在这里找到了解决方案:
jQuery.load() does not work with a defined function as a callback?

有关示例,请参见此 jsFiddle:http:
//jsfiddle.net/bayoffire/kNWpD/1/

于 2013-08-04T21:15:17.730 回答
-1

我有一个$(document).ready(function () {in table.php 导致回调函数不起作用。不知道为什么会这样,但是删除它可以解决所有问题。

于 2013-08-05T00:24:59.253 回答