Javascript函数总是不会在.load之后运行

时间:2015-10-08 12:55:33

标签: javascript php jquery

好的,所以我有三个<select>字段水平排列如下:

---------- | teacher1 | ---- | student1 | ---- | student6 |

---------- | teacher2 |

---------- | teacher3 |

Okey,所以在这个例子中我们使用老师和学生,老师可以包含几个学生。当您从左侧列表中选择教师时,连接到该教师的所有学生都会显示在中间列表中。在右边,我们有没有老师的学生。如果您单击中间字段中的学生,它将从该教师中删除并显示在右侧字段中。(在MYSQL数据库中建立连接)。

所有选择字段都在<div>内,我用jquery使用.load()函数来改变内容,就像删除函数一样:

     $('#hold2').load("page.php?q=" + data);

一切正常加载并且数据库正确更改,问题是我想在.load()函数之后刷新mid和right字段,因此不必刷新页面来查看结果。所以我将这些功能放在:

     $('#hold2').load("page.php?q=" + data);
     refreshTable1(teacher);
     refreshStudent();

这是refreshTable1:

     function refreshTable1(value) {
     teacher = value;
     $('#holder').load("example.php?q=" + value);

     }

这是refreshStudent:

    function refreshStudent() {
    $('#table').load("examplepalge.php?p=blabla", function(){
            setTimeout(refreshTable1(etc), 2000);
    });

    }

有时它直接刷新中间和右侧场,有时没有,有时只刷新其中一个。如何使此运行平稳​​,以便在$('#hold2').load("page.php?q=" + data);

之后字段肯定会正确刷新

请注意:并非所有连接和功能链接都是正确的,我只是为此示例更改了一些内容。但我们已经知道这些功能是有效的,有时它们正确地加载,有时不加载。

1 个答案:

答案 0 :(得分:1)

您需要使用回调进行设置,这样您只需在第一个功能完成后执行第二个功能。