javascript - 如何从嵌套的 json 数组中选择

标签 javascript json angularjs

我有一个从 API 获取的 JSON:

 $scope.data = [{
        "primary": "white",
        "sub": ["white 1", "white 2", "white 3"]

    },{
        "primary": "black",
       "sub": ["black 1", "black 2", "black 3"]

    }];

我想按主要分组,可选值是 Array sub

喜欢:

**White**
   white 1
   white 2
   white 3
**Black**
   Black 1
   Black 2
   Black 3

我可以按主键分组,但无法获取内部值。这是我拥有的:

<div ng-controller="myCtrl">
    <select
        ng-model="myOption"
        ng-options="val.primary group by value.primary for value in data">

    </select>
    <div>
        ng-model value: {{myOption}}
    </div>
</div>

(这是我的 fiddle :http://jsfiddle.net/jm6of9bu/648/)

最佳答案

你需要展平你的数组。即使使用 group byng-options 也适用于平面数组:

$scope.data2 = [
    {primary: "white", sub: "white1"},
    {primary: "white", sub: "white2"},
    {primary: "white", sub: "white3"},
    {primary: "black", sub: "black1"},
    {primary: "black", sub: "black2"},
    {primary: "black", sub: "black3"},
    ];

然后你可以这样做:

<select
    ng-model="myOption"
    ng-options="value as value.sub group by value.primary for value in data2">

</select>

模型将设置为 value 对象 - 例如{primary: "white", sub: "white2"}.如果你想将其设置为 "white2""black3" 等......然后使用:

ng-options="value.sub as value.sub group by value.primary for value in data2"

关于javascript - 如何从嵌套的 json 数组中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31438077/

相关文章:

javascript - 带重定向的 AngularJS 路由

javascript - 创建类似于移动 Gmail 的固定容器

php - 如何将选定的值从选择框传递给 PHP 函数?

javascript - 如何处理未捕获的 promise 错误?

c# - C# 和 Javascript 中的动态对象属性

javascript - 从 Angular Controller 调用引导模式

Javascript 图像 src 没有改变

javascript - 在 JavaScript 中将 Scala Map 转换为 Json

python - 仅从 JSON 文件中抓取选定的字段

javascript - AngularJS:如何在通过 $http 获取数据时禁用默认观察者