2014-09-24 53 views
3

我遇到了我正在處理的代碼的問題。我顯然是新的PHP和MySQL。 我想從另一個選項被選中時從MySQL數據庫加載選項字段。 也就是說: 我有選擇選擇選項時自動加載選項PHP/MySQL

<select name=state> 
    <option value=Lagos>Lagos</option> 
    <option value=Abuja>Abuja</option> 
    <option value=Rivers>Rivers</option> 
    </select> 

,另一套方案:

<select name=City> 
    <option value=Lekii>Lekki</option> 
    <option value=VI>VI</option> 
    <option value=Ikoyi>Ikoyi</option> 
    </select> 

我有一個名爲PLACES和表格的國家和城市 數據庫我想加載我選擇州時對應的城市列表。 也就是說,當我選擇拉各斯時,拉各斯的所有城市都將在另一個下拉菜單中進行填充。

請注意,有2個選擇字段。

請幫幫我,夥計們。

+0

根據下拉值進行'ajax'請求並從數據庫獲取數據。 – 2014-09-24 07:07:10

+0

請發佈您正在使用的代碼。 – Paolo 2014-09-24 07:09:48

+0

由於Kartikeya提及..阿賈克斯是你最好的選擇,但是,然後,告訴我們什麼研究你先做了! – freerunner 2014-09-24 07:11:39

回答

6

根據您的應用程序體系結構和偏好:

你可以每次得到相應的基礎上選擇的狀態的城市做一個Ajax調用服務器。請按照文章Auto-populating Select Boxes using jQuery & AJAX

或者

可以預裝基於在JSON格式狀態的所有城市和展示基於選擇的狀態對應的城市。請在Jsfiddle中查看我的工作示例here

<head> 
    <title></title> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
    // you need to fill this cities value getting data from city table of your DB 
cities = { 
    "Lagos": ["LagosCity1", "LagosCity2"], 
    "Abuja": ["AbujaCity1", "AbujaCity2", "AbujaCity3"], 
    "Rivers": ["RiversCity1", "RiversCity2", "RiversCity3"] 
} 
$(document).ready(function() { 
    $('#state').change(function() { 
     var state = $(this).val(); 
    if(cities[state] && cities[state].length > 0) 
    $("#Scity").html(''); 
    $.each(cities[state], function(i, city) { 
      $("<option>").attr("value", city).text(city).appendTo("#Scity"); 
     }); 
    }); 
}); 
</script> 
</head> 
<body> 
State: <select id='state' name='state'> 
    <option value=0>Select</option> 
    <option value='Lagos'>Lagos</option> 
    <option value='Abuja'>Abuja</option> 
    <option value='Rivers'>Rivers</option> 
</select> 
City: <select id="Scity" name='city'></select> 
</body> 
</html> 

或者

您可以通過默認顯示在城市選擇框中的所有城市,並篩選出城市,而被選擇的狀態,只屬於該國展的城市,請參閱一種示例here

+1

哇。這非常有幫助。對不起,我很晚纔回應。 – 2014-09-30 09:44:03

+1

@EstheronsSamuel,謝謝,你會介意接受答案,如果它適合你,並給予贊成票,如果你覺得有幫助。 – 2014-09-30 09:48:19

3

您需要使用Ajax調用來根據所選狀態獲取數據。