2011-10-18 72 views
0

我不知道如何做到这一点,我已经看到ajax/jquery自动完成脚本,但我想查询两个不同的表,取决于从下拉框中选择什么。是这样的事情甚至可能或将不得不将两个数据库合并为一个处理下拉选择框选项与ajax自动完成

这就是我想要做的。

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

如果用户选择美国,然后查询search_us表上自动完成...

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

否则如果加拿大被选中,那么查询search_ca表上自动完成...

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

回答

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']; 
+0

这AJAX自动完成,你会推荐使用到最适合您的例子吗? – acctman

+0

@acctman我的例子使用jquery ui自动完成http://jqueryui.com/demos/autocomplete/ –

+0

你会碰巧有一个工作的例子。一整天都在尝试,并且无法使其工作 – acctman

1

所有您将n eed要做的就是要求JQuery去POST你的下拉列表中选中的项目onChange()。然后,它应该向PHP脚本发送一个请求。

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

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

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