首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将API数据输入数据库只获取数组号,而不是字符串。

问将API数据输入数据库只获取数组号,而不是字符串。
EN

Stack Overflow用户
提问于 2016-11-21 06:45:14
回答 1查看 96关注 0票数 0

我试着用省和市做注册表格(从API数据中获取),我在省和市的列表中使用下拉列表,问题是下拉列表的值是province_id而不是省,所以如果我更改这个代码

代码语言:javascript
复制
province = '<option value="'+n['province_id']+'">'+n['province']+'</option>';

至

代码语言:javascript
复制
province = '<option value="'+n['province']+'">'+n['province']+'</option>';

它成功地获取了省数据,并将其输入到数据库中,但是当我更改代码时出现了新的问题,城市下拉列表没有出现,因为列表城市是基于省id出现的,我在这里试图找到如何显示基于省名的城市列表。

这是我的密码:

script.js

代码语言:javascript
复制
    $(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切片

代码语言:javascript
复制
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的观点

代码语言:javascript
复制
"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"
        }
    ]
}
EN

回答 1

Stack Overflow用户

发布于 2016-11-21 06:59:41

将您的loadprovince函数更改为

代码语言:javascript
复制
  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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40714267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档