2013-10-30 85 views
2

我正嘗試創建一個動態城市下拉選擇器,用戶選擇一個國家,然後選擇一個地區,然後選擇一個城市。現在我在MySQL數據庫中有兩個表格,一個是所有區域,另一個是所有城市,我使用jQuery首先加載區域,當用戶選擇一個國家時,然後加載一個城市,當選擇一個區域時。如何使用PHP從外部文件加載選擇選項

我的網站獲得了相當多的流量,我擔心這非常低效......每當有人做出選擇時,數據庫都會被查詢,有時會有數百行被解析並返回。

由於城市列表永遠不會改變,我想將每個國家和地區作爲單獨的文件存儲,並在需要時加載它們。

例如: IE.html(愛爾蘭)

<option value="0" selected>- Select -</option> 
<option value="11287">Connaught</option> 
<option value="11288">Leinster</option> 
<option value="11289">Munster</option> 
<option value="11290">Ulster</option> 

11290.html(北愛爾蘭)

<option value="xxxxxxx">Buncrana</option> 
<option value="xxxxxxx">Cavan</option> 
<option value="xxxxxxx">Letterkenny</option> 
<option value="xxxxxxx">Monaghan</option> 

的問題是,我無法弄清楚如何將這些文件加載​​回進入選擇菜單。關於用外部文件創建選項的資源很多,但我找不到有關將純HTML加載到表單中的任何信息。

這甚至可能嗎?

謝謝!

+0

http://stackoverflow.com/questions/12135091/jquery-take-value-and-insert-into-dropdown-menu-and-add-url-as-option-value –

+0

我看到一個,但它似乎太複雜了......文件已經格式正確。 – Jeremy

+0

使用ajax獲取文件並追加或插入到選擇框中。 –

回答

3

您可以簡單地在jQuery中使用load方法。看下面的例子。

$("#dropdowndiv").load("ajax/11290.html"); 

您可以存儲整個select出現或只是options。根據你在文件中存儲的內容,使用jQuery選擇器。如果您正確實施現場

有成千上萬的用戶不會減慢您的網站。搜索術語High Availability For Database

+0

謝謝!這可能是我無法在任何地方找到它的原因 - 因爲答案非常明顯。 – Jeremy

+0

我很高興能爲您提供幫助 – Techie

+0

從數據庫移動數據正確地實現了一個站點。成千上萬的用戶不會減慢網站速度,但是做低效的數據庫查詢將會。國家,地區和城市的變化不大。 – Andrew

0

你可以做的是創建一個單獨的js文件的幾個陣列持有的價值觀,即:

var myCars=new Array("Saab","Volvo","BMW");

然後動態地創建通過查找與該選項jQuery中環(或的foreach)在這裏:

How to create options of a select element dynamically using jquery?

我會提供更多的代碼示例,但我有限的,因爲我是我的手機上。

相關問題