我在这里有我的项目代码和流程,我有三个选择器,一个用于选择大洲,一个用于选择国家,另一个用于选择城市。我通过Ajax请求获取数据来填充这些选择器,现在它已经正常工作了,但我想让它更加美观,所以我想添加一些功能:
1.当选择大洲时,该大洲的国家列表将显示在国家列表中。当更改发生时,我希望城市也能显示当前国家第一个条目的城市, 目前它没有发生,我仍然需要更改国家选择器的条目才能显示城市列表。
2.问题是我是否需要在大洲的Ajax请求中添加另一个Ajax请求,我不确定这是否可行,我尝试了一下,目前还没有起作用。
Ajax代码:
$('.continentname').change(function() {
var id = $(this).find(':selected')[0].id;
//alert(id);
$.ajax({
type:'POST',
url:'../include/continent.php',
data:{'id':id},
success:function(data){
// the next thing you want to do
var country= document.getElementById('country');
$(country).empty();
var city = document.getElementById('city');
$(city).empty();
for (var i = 0; i < data.length; i++) {
$(country).append('<option id=' + data[i].sysid + ' value=' + data[i].name + '>' + data[i].name + '</option>');
}
}
});
});
$('.countryname').change(function() {
var id = $(this).find(':selected')[0].id;
$.ajax({
type:'POST',
url:'../include/country.php',
data:{'id':id},
success:function(data){
// the next thing you want to do
var city = document.getElementById('city');
$(city).empty();
for (var i = 0; i < data.length; i++) {
$(city).append('<option id=' + data[i].sysid + ' value=' + data[i].name + '>' + data[i].name + '</option>');
}
}
});
});
从数据库中取出的值,我把它放入下拉选项中,如下:
$("#continent").val(continentid);
$("#continent").change();
$("#country").change();
$("#country").val(countryid);
$("#city").val(cityid);
$(country)
。 - Arun P Johny