2014-09-24 98 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调用来根据所选状态获取数据。