使用ajax自动完成功能处理下拉列表选项框选项

时间:2011-10-18 23:56:58

标签: php jquery mysql ajax

我不知道如何做到这一切,我已经看过ajax / jquery自动完成脚本,但我想查询两个不同的表,具体取决于从下拉框中选择的内容。这样的事情是可能的,或者必须将两个数据库合并为一个

这就是我想要做的。

国家:美国,加拿大(下拉选择框)

如果用户选择US然后查询search_us表以获取自动完成...

城市或邮编/邮政:[](文本框)

否则如果选择加拿大,则在...上查询search_ca表以获取自动完成功能

城市或邮编/邮政:[](文本框)

2 个答案:

答案 0 :(得分:1)

您需要做的就是向JQuery询问POST下拉列表onChange()中所选的项目。然后,这应该向您的PHP脚本发送请求。

您的脚本会查看已发布的值,看看它是美国还是加拿大。

根据选择的内容,它可以在您的数据库中运行这些查询并以JSON格式返回相应的响应。

然后,您可以捕获该响应(自动填充列表)并使用您用于自动完成的任何UI组件将其应用于文本框。

答案 1 :(得分:1)

您可以将查询参数附加到设置表的php的url。然后像往常一样运行自动完成。例如,这可能是您的设置:

$("#your_textbox").change(function(){
    if($(this).val() === "Canada"){
        $("#zip_code").autocomplete("option", "source", "your_script.php?country=CA");
    } else {
        $("#zip_code").autocomplete("option", "source", "your_script.php?country=US");
    }   
});

$("#zip_code").autocomplete({
    source: "",
    minLength: 2
  });

然后在你的PHP脚本中你拿起参数:

$ac_country = $_GET['country'];