我有两个下拉字段,一个下拉选择字段,美国的所有状态都是硬编码的。我想做的是当用户选择状态时,调用一个php函数,该函数使用api来收集该状态中每个城市的名称。
我已经拥有api并且可以访问xml数据。我不知道的是当选择状态而不必按下按钮时如何触发php功能。只需从下拉列表中选择一个州,然后在另一个下拉选择列表中显示城市,如果状态已更改,则更新城市列表以显示当前所选州的城市。
这可能只用PHP吗?或者我需要像ajax这样的东西?我从未与ajax合作。
答案 0 :(得分:0)
你必须使用ajax:
var state_id = selectedValue;// selected value of the state
$.ajax({
type: "GET",
url: 'city_api.php?state_id='+state_id,
contentType: "text/xml; charset=utf-8",
dataType: "xml",
success: function(data) {
var output = '';
output += '<option value="NA">Select</option>';
$(data).find("root").each(function() { //assuming first tag as root
$(this).find("city").each(function() {// assuming cities are inside city tag something like <city id="1">New York</city>
var city_name = $(this).text();
var city_id = $(this).attr("id");
output += '<option value="'+dst_id+'">'+dst_name+'</option>';
});
});
//output += '</select>';
$('#city_dropdown').html(output);
},
error: function(data) {
$('#city_dropdown').html('failure');
}
});
在您希望下拉列表显示的位置
<div id="city_dropdown"></div>
没有必要成为div。你可以使用
等