javascript - 使用 jquery 在选择框中的选项中填充数据

标签 javascript jquery

我有一个 json 数组,其中包含一些数据,我想将其所有值填充到选择框选项值中... 数组就像

[
  {
    "CityId": "42231",
    "CountryID": "1",
    "RegionID": "833",
    "City": "Herat",
    "Latitude": "34.333",
    "Longitude": "62.2",
    "TimeZone": "+04:30",
    "DmaId": "0",
    "Code": "HERA"
  },
  {
    "CityId": "5976",
    "CountryID": "1",
    "RegionID": "835",
    "City": "Kabul",
    "Latitude": "34.517",
    "Longitude": "69.183",
    "TimeZone": "+04:50",
    "DmaId": "0",
    "Code": "KABU"
  },
  {
    "CityId": "42230",
    "CountryID": "1",
    "RegionID": "852",
    "City": "Mazar-e Sharif",
    "Latitude": "36.7",
    "Longitude": "67.1",
    "TimeZone": "+4:30",
    "DmaId": "0",
    "Code": "MSHA"
  }
]

我想使用 jquery 在选择框中填充这个值,我该怎么做... 我已经尝试过

$.each(json, function(i, value) {
    $('#cityselect').append($('<option>').text(value.CityId).attr('value.city', value.City));
});

谁能帮我解决这个问题

最佳答案

var data = [{"CityId":"42231","CountryID":"1","RegionID":"833","City":"Herat","Latitude":"34.333","Longitude":"62.2","TimeZone":"+04:30","DmaId":"0","Code":"HERA"},{"CityId":"5976","CountryID":"1","RegionID":"835","City":"Kabul","Latitude":"34.517","Longitude":"69.183","TimeZone":"+04:50","DmaId":"0","Code":"KABU"},{"CityId":"42230","CountryID":"1","RegionID":"852","City":"Mazar-e Sharif","Latitude":"36.7","Longitude":"67.1","TimeZone":"+4:30","DmaId":"0","Code":"MSHA"}];

现在填充选项:

var $select = $('#cityselect');

$.each(data, function(i , value) {
     var option = $('<option value="'+ value.CityId+'">'+ value.City +'</option>');
     $select.append(option);
});

在性能方面甚至更好:

var data = [{"CityId":"42231","CountryID":"1","RegionID":"833","City":"Herat","Latitude":"34.333","Longitude":"62.2","TimeZone":"+04:30","DmaId":"0","Code":"HERA"},{"CityId":"5976","CountryID":"1","RegionID":"835","City":"Kabul","Latitude":"34.517","Longitude":"69.183","TimeZone":"+04:50","DmaId":"0","Code":"KABU"},{"CityId":"42230","CountryID":"1","RegionID":"852","City":"Mazar-e Sharif","Latitude":"36.7","Longitude":"67.1","TimeZone":"+4:30","DmaId":"0","Code":"MSHA"}];
var $select = $('#cityselect');
    options = [];
    $.each(data, function(i , value) {
         options.push('<option value="'+ value.CityId+'">'+ value.City +'</option>');
    });
    $select.html(options.join(""));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="cityselect"></select>

关于javascript - 使用 jquery 在选择框中的选项中填充数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29410645/

相关文章:

javascript - $( "#hover"+item ) 不起作用,但 $( "#hover0") 起作用

jquery - 如何为 WordPress 制作整页自动图像大小 slider ?

javascript - 按钮 onClick 事件在 jQuery Mobile 对话框中触发了太多次

javascript - appendChild 只在第一次工作

javascript - 我需要 React Router V5 中的嵌套路由

javascript - 关于附加到的问题

javascript - 在 jQuery 中通过 width() 输出错误的 div 宽度

javascript - 有没有办法将 MSBuild 输出目录更改为自定义项目名称?

javascript - jQuery ajax 请求在控制台中成功,但未调用回调

javascript - 滑动页面转换,并在下方预加载新内容