使用jQuery grep返回城市列表

时间:2014-02-13 17:55:50

标签: jquery json grep

我正在使用的json文件示例...

[
  {
    "store":"Albertsons",
    "address":"2950 College Drive",
    "city":"Baton Rouge",
    "state":"LA",
    "zip":70808
  },
  {
    "store":"Albertsons",
    "address":"7515 Perkins Road",
    "city":"Baton Rouge",
    "state":"LA",
    "zip":70808
  },
  {
    "store":"Albertsons",
    "address":"4060 Ryan Street, South ",
    "city":"Lake Charles ",
    "state":"LA",
    "zip":70605
  },
]

我想要做的是使用城市选项填充选择表单字段...即

<select id="city">
    <option>Baton Rouge</option>
    <option>Lake Charles</option>
</select>

我已经想出了如何过滤掉与“LA”状态匹配的所有项目,但是我想要一个没有重复的城市名称数组。

2 个答案:

答案 0 :(得分:1)

听起来您想迭代JSON数组中的每个对象并选择一个唯一的城市名称列表。假设城市名称是干净的数据(例如“查尔斯湖”将永远是“查尔斯湖”而不是“LAKE_CHARLES”),你可以这样做:

var cities = []; 

$.each(JSON, function(index, item) {
  var city = item.city;
  if(cities.indexOf(city) == -1) {
    cities.push(city);
  }
});

答案 1 :(得分:0)

我使用TexoTela jQuery Select plug-in来管理选择内容,我很满意。

首先,您需要创建所需值的数组,因此假设您的城市信息数组位于名为cities的数组中,我们将遍历JSON数组并添加如下项:

jQuery.each( cities, function( i, val) { $("#mySelect").addOption(val.city, val.city ); } );