用 jquery 动态填充下拉列表

dynamically fill dropdown with jquery

我找到了这段代码

$("#choice1").change(function() {
$("#choice2").load("getter.php?choice=" + $("#choice1").val());
}); 

从这里开始https://css-tricks.com/dynamic-dropdowns/

我想稍微更改一下,以便填充三个下拉列表而不是两个。因此,例如,当有人选择第一个选择时,第二个选择填满 "something" 而这个 "something" 我想在 another_getter.php 文件中解析它以便用填充第三个下拉列表"something else"。 我的实际问题是如何调用这些 jquery 函数,我在想

$("#choice1").change(function() {
$("#choice2").load("getter.php?choice=" + $("#choice1").val());
$("#choice3").load("getter2.php?choice2=" + $("#choice2").val());
});

但它不起作用。有人能告诉我应该如何正确调用这些函数吗? 提前谢谢!

如果我理解你问题的顺序,我想这就是你要找的:

$("#choice1").change(function() {
    $("#choice2").load("getter.php?choice=" + $("#choice1").val());
});

$("#choice2").change(function() {
    $("#choice3").load("getter.php?choice=" + $("#choice2").val());
});

$("#choice3").change(function() {
   // Do stuff
});

load() jq 方法是异步的。加载内容后,您应该将内容加载到其他下拉列表中,在完成回调中设置逻辑:

$("#choice1").change(function() {
  $("#choice2").load("getter.php?choice=" + $(this).val(), function() {
    $("#choice3").load("getter2.php?choice2=" + $(this).val());
  });
});