2011-10-18 114 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組件。