Javascript 函数在 .load 之后始终不运行

标签 javascript php jquery

好的,我有三个<select>像这样水平排列的字段:

----------|老师1|----|学生1|----|学生6|

----------|老师2|

----------|老师3|

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

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

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

加载一切正常,数据库更改正确,问题是我想在 .load() 函数之后刷新中间和右侧字段,因此不必刷新页面即可查看结果。所以我把这些函数放在:

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

这是刷新表1:

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

     }

这里是刷新学生:

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

    }

有时会直接刷新中场和右场,有时不刷新,有时只刷新其中之一。我怎样才能使这个运行顺利,以便字段肯定会在之后正确刷新:$('#hold2').load("page.php?q=" + data);

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

最佳答案

您需要使用回调对其进行设置,以便只有在第一个函数完成后才执行第二个函数。

关于Javascript 函数在 .load 之后始终不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33016491/

相关文章:

javascript - 从另一个模块导入 PropType 值会导致未定义

javascript - Javascript 中的 GPU 并行性变慢

javascript - 动态添加行上的数组单选按钮

javascript - 如何检查它是否是 foreach 循环中的最后一个元素

@ 符号之前的 JavaScript 值

jquery - 在 Laravel 中使用 Blade 模板打印 php 标签内的 JavaScript 变量值

javascript - DataTable 超出了我的模态宽度

javascript - Meteor - 我有错误,无法调试它

php - 文件上传适用于桌面,但不适用于使用相机的移动设备

javascript - 仅为第一个按钮添加处理程序