使用jquery动态填充下拉列表

时间:2016-01-10 13:10:21

标签: javascript jquery dropdown

我找到了这段代码

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

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

我想稍微更改它以填充三个下拉列表而不是两个。所以,例如,当有人选择第一个选择时,第二个选择填满“某事”,这个“东西”我想在another_getter.php文件中解析它,以便用“别的东西”填充第三个下拉列表。 我的实际问题是如何调用这些jquery函数,我正在考虑类似的事情,

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

但它不起作用。可以告诉我如何正确地调用这些功能? Thanx提前!

2 个答案:

答案 0 :(得分:0)

如果我理解你的问题的顺序,我认为这就是你要找的东西:

$("#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
});

答案 1 :(得分:0)

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

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