You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用getJSON填充下拉选择框?需提取JSON中bankName与iINNo

如何从JSON数据中提取bankName和iINNo填充下拉选择菜单?

看起来你在尝试从返回的JSON数据里提取bankName和iINNo来填充下拉菜单,但现有代码存在几个小问题导致无法正常工作。让我帮你修正并解释清楚:

首先先看你的原始JSON数据(已格式化方便查看):

{
  "status": true,
  "message": "Request Completed",
  "data": [
    {
      "id": 1,
      "activeFlag": 1,
      "bankName": "Union Bank of India",
      "details": "Union Bank of India",
      "iINNo": "607161",
      "remarks": "",
      "timestamp": "21/11/2016 16:00:00"
    },
    {
      "id": 2,
      "activeFlag": 1,
      "bankName": "Bank of India",
      "details": "Bank of India",
      "iINNo": "508505",
      "remarks": "",
      "timestamp": "21/11/2016 16:00:00"
    }
  ],
  "statusCode": 0
}

你的原始代码存在的问题:

  1. 接口返回的银行数组嵌套在data字段下,你直接遍历整个响应对象是错误的,应该遍历response.data
  2. $.each的回调参数顺序搞反了,正确顺序是(数组, function(索引, 当前元素))
  3. 使用了未定义的value和index变量,应该用遍历到的当前银行对象来访问字段

修正后的完整代码:

let dropdown = $('#Bank');
dropdown.empty();
dropdown.append('<option selected="true" disabled>Select Bank</option>');
dropdown.prop('selectedIndex', 0);

// 注意:这里需要替换成你实际的API接口地址,cors-anywhere只是临时跨域方案
const url = 'http://cors-anywhere.herokuapp.com/your-real-api-url'; 

// 填充下拉菜单
$.getJSON(url, function (response) {
  // 遍历返回的银行数组
  $.each(response.data, function (index, bankItem) {
    console.info(`当前索引:${index}`);
    console.info(`当前银行数据:`, bankItem);
    // 创建选项,value设为iINNo,显示文本设为bankName
    dropdown.append($('<option></option>').attr('value', bankItem.iINNo).text(bankItem.bankName));
  });
});

关键说明:

  • 必须定位到response.data:你的JSON结构里,实际的银行列表数据是在顶层data属性对应的数组里,这是最容易踩坑的点
  • 正确使用$.each的参数:回调里的bankItem就是每个银行的完整对象,直接用它访问iINNo和bankName即可
  • 跨域注意事项:cors-anywhere仅适合开发测试,生产环境建议后端配置CORS策略,或者使用同域接口避免跨域问题

内容的提问来源于stack exchange,提问作者Hritik R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 11:37:28