Javascript 如何在";中遍历对象内部的数组;ng选项“;属性
如果我有两个下拉列表。第二个依赖于第一个 第一个下拉列表是姓氏Javascript 如何在";中遍历对象内部的数组;ng选项“;属性,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,如果我有两个下拉列表。第二个依赖于第一个 第一个下拉列表是姓氏 如果你能将你的一天重组为一个对象,以名称为键,以名称列表为值,你就可以轻松地完成这项工作 重组: [ ... { "surname":"Williams" "name":['Holly','James','Robert','Kim'] }, { "surname":"Jones" "name":['Holl
如果你能将你的一天重组为一个对象,以名称为键,以名称列表为值,你就可以轻松地完成这项工作 重组:
[
...
{
"surname":"Williams"
"name":['Holly','James','Robert','Kim']
},
{
"surname":"Jones"
"name":['Holly','Joe','Jon','Harry']
}
...
]
$scope.data = persons.reduce(function(p, c) {
if (!p.hasOwnProperty(c.surname)) {
p[c.surname] = p.name;
}
return p;
}, {});
使用新结构:
[
...
{
"surname":"Williams"
"name":['Holly','James','Robert','Kim']
},
{
"surname":"Jones"
"name":['Holly','Joe','Jon','Harry']
}
...
]
$scope.data = persons.reduce(function(p, c) {
if (!p.hasOwnProperty(c.surname)) {
p[c.surname] = p.name;
}
return p;
}, {});
提供了可能的解决方案:在姓氏选择上执行ng change=“populate()”
<select ng-model="selectedSurname" ng-options="surname as surname for (surname, names) in data"></select>
<select ng-model="selectedName" ng-options="name as name for name in data[selectedSurname]"></select>