我用的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表单字段.即
<select id="city">
<option>Baton Rouge</option>
<option>Lake Charles</option>
</select>我已经知道了如何通过与"LA“状态匹配的所有项目进行过滤,但是我想要的只是一个没有重复的城市名称数组。
发布于 2014-02-13 18:03:03
听起来,您需要迭代JSON数组中的每个对象,并选择一个唯一的城市名称列表。假设城市名称是干净的数据(例如。“查尔斯湖”永远是“查尔斯湖”,而不是"LAKE_CHARLES"),你可以这样做:
var cities = [];
$.each(JSON, function(index, item) {
var city = item.city;
if(cities.indexOf(city) == -1) {
cities.push(city);
}
});发布于 2014-02-13 19:17:11
我使用TexoTela jQuery选择插件来管理select内容,并对此非常满意。
首先,您需要创建一个所需值的数组,因此假设您的城市信息数组位于一个名为city的数组中,我们将遍历JSON数组并添加如下所示的项:
jQuery.each( cities, function( i, val) { $("#mySelect").addOption(val.city, val.city ); } );https://stackoverflow.com/questions/21761880
复制相似问题