我试着用省和市做注册表格(从API数据中获取),我在省和市的列表中使用下拉列表,问题是下拉列表的值是province_id而不是省,所以如果我更改这个代码
province = '<option value="'+n['province_id']+'">'+n['province']+'</option>';至
province = '<option value="'+n['province']+'">'+n['province']+'</option>';它成功地获取了省数据,并将其输入到数据库中,但是当我更改代码时出现了新的问题,城市下拉列表没有出现,因为列表城市是基于省id出现的,我在这里试图找到如何显示基于省名的城市列表。
这是我的密码:
script.js
$(document).ready(function(){
loadProvinsi('#oriprovince');
loadProvinsi('#desprovince');
$('#oriprovince').change(function(){
$('#oricity').show();
var idprovince = $('#oriprovince').val();
loadCity(idprovince,'#oricity')
});
$('#desprovince').change(function(){
$('#descity').show();
var idprovince = $('#desprovince').val();
loadCity(idprovince,'#descity')
});
});
function loadProvinsi(id){
$('#oricity').hide();
$('#descity').hide();
$(id).html('loading...');
$.ajax({
url:'process.php?act=showprovince',
dataType:'json',
success:function(response){
$(id).html('');
province = '';
$.each(response['rajaongkir']['results'], function(i,n){
province = '<option value="'+n['province_id']+'">'+n['province']+'</option>';
province = province + '';
$(id).append(province);
});
},
error:function(){
$(id).html('ERROR');
}
});
}
function loadCity(idprovince,id){
$.ajax({
url:'process.php?act=showcity',
dataType:'json',
data:{province:idprovince},
success:function(response){
$(id).html('');
city = '';
$.each(response['rajaongkir']['results'], function(i,n){
city = '<option value="'+n['city_id']+'">'+n['city_name']+'</option>';
city = city + '';
$(id).append(city);
});
},
error:function(){
$(id).html('ERROR');
}
});
}process.php切片
header("Content-Type: application/json");
require_once('idmore.php');
$IdmoreRO = new IdmoreRO();
if(isset($_GET['act'])):
switch ($_GET['act']) {
case 'showprovince':
$province = $IdmoreRO->showProvince();
echo $province;
break;最后是process.php?act=showprovince的观点
"rajaongkir": {
"query": [ ],
"status": {
"code": 200,
"description": "OK"
},
"results": [
{
"province_id": "14",
"province": "Kalimantan Tengah"
},
{
"province_id": "15",
"province": "Kalimantan Timur"
},
{
"province_id": "16",
"province": "Kalimantan Utara"
}
]
}发布于 2016-11-21 06:59:41
将您的loadprovince函数更改为
function loadProvinsi(id){
$('#oricity').hide();
$('#descity').hide();
$(id).html('loading...');
$.ajax({
url:'process.php?act=showprovince',
dataType:'json',
success:function(response){
$(id).html('');
province = '';
var result = $.parseJSON(response['rajaongkir']['results']);
$.each(result, function(i,n){
province = '<option value="'+n.province+'">'+n.province+'</option>';
province = province + '';
$(id).append(province);
});
},
error:function(){
$(id).html('ERROR');
}
});
}必须将value属性中的province_id更改为province
,并确保列的数据类型不是int。
https://stackoverflow.com/questions/40714267
复制相似问题