用PHP文件中的JSON填充SELECT(AJAX请求)
我已经花了好几个小时(时间已经不多了),试图弄清楚如何使用AJAX从先前选择的州填充城市 PHP文件如下所示:用PHP文件中的JSON填充SELECT(AJAX请求),ajax,json,select,fill,Ajax,Json,Select,Fill,我已经花了好几个小时(时间已经不多了),试图弄清楚如何使用AJAX从先前选择的州填充城市 PHP文件如下所示: include_once("../models/class-Zone.php"); $state= $_GET["st"]; $cities= Zone::getCities($state); echo json_encode($cities); 当我使用ajax警告结果时: $.post( '../ajax/getcities.php?st='+stateid
include_once("../models/class-Zone.php");
$state= $_GET["st"];
$cities= Zone::getCities($state);
echo json_encode($cities);
当我使用ajax警告结果时:
$.post(
'../ajax/getcities.php?st='+stateid,
function(data) {
alert(data);
}
);
//I GET THIS:
[{"id":"08078","titulo":"BARANOA"},
{"id":"08001","titulo":"BARRANQUILLA"},
{"id":"08137","titulo":"CAMPO DE LA CRUZ"},
{"id":"08141","titulo":"CANDELARIA"},
{"id":"08296","titulo":"GALAPA"},
{"id":"08132","titulo":"JUAN DE ACOSTA"},
{"id":"08421","titulo":"LURUACO"}]
我还没有找到用这些数据迭代和填充SELECT的方法。select应该是这样的
<select name="city" id="city">
<option value="ID FROM THE JSON">TITULO FROM THE JSON ARRAY</option>
... AND FOR THE REST OF THE RESULTS
</select>
来自JSON数组的TITULO
... 剩下的结果呢
事先谢谢你!我非常困惑。首先解码JSON,然后将HTML添加到针对每个城市的选择中
function(data) {
var cities = JSON.parse(data);
for(var c in cities) {
document.getElementById('city').innerHTML += '<option value="' + cities[c].id +'">' + cities[c].titulo + '</option>';
}
}
功能(数据){
var cities=JSON.parse(数据);
for(城市中的var c){
document.getElementById('city')。innerHTML+=''+cities[c]。titulo+'';
}
}
您似乎正在使用jQuery,因此我认为您可以轻松地在成功回调中迭代JSON
function(data){
var st=""
for(i in data){
st+="<option id='"+data[i].id+"'>"+data[i].titulo+"</option>"
}
//here st contains all the options
// you just have to append it in your select's html
// I don't know your DOM structure, so if you didn't have anything
// you can add the select, then display it
$("thePlaceWhereYouWantIt").html("<select>"+st+"</select>")
}
功能(数据){
var st=“”
对于(数据中的i){
st+=“”+数据[i]。提图洛+“”
}
//这里st包含所有选项
//您只需将其附加到select的html中即可
//我不知道你的DOM结构,所以如果你没有
//您可以添加“选择”,然后显示它
$(“您想要的位置”).html(“+st+”)
}
它应该可以工作,但这取决于实际的HTML
祝你好运,老兄,你太棒了。。。成功了!这就是我要说的。我已经编程3年了,每天都在学习和再学习!