好的,我有三个<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/