javascript - angularjs ng-将嵌套数组重复到一个唯一列表中

标签 javascript angularjs arrays json angularjs-ng-repeat

我正在尝试将所有对象的嵌套数组中的所有值列表放入一个列表中。
我有以下 json 文件结构:

{
    "booklist": {
        "fiction": [
          {
            "key": "book1",
            "value": "bookvalue1"
          },
          {
            "key": "book2",
            "value": "bookvalue2"
          }
        ],
        "romance": [
          {
            "key": "book3",
            "value": "bookvalue3"
          },
          {
            "key": "book4",
            "value": "bookvalue4"
          }
        ],
        "thriller": [
          {
            "key": "book5",
            "value": "bookvalue5"
          },
          {
            "key": "book6",
            "value": "bookvalue6"
          }
        ]         
}       

我正在尝试(我已经尝试过)阅读下拉菜单中所有书籍的列表:

<ui-select name="books" ng-model="model.books" theme="selectize" required>
    <ui-select-match> {{$select.selected.value}} </ui-select-match>
    <ui-select-choices
            repeat="r.key as r in booklist | filter: $select.search">
        <div ng-bind-html="r.value | highlight: $select.search"></div>
    </ui-select-choices>
</ui-select>

这样下拉菜单将如下所示:

bookvalue1
bookvalue2
bookvalue3
bookvalue4
bookvalue5
bookvalue6

在另一个输入元素中,我想获取上面所选书籍的类别:

<input type="text" name="category" ng-model="model.category" class="form-control" disabled="disabled" value="??"/>

如何获取上面所选图书的类别值?

最终目标是将类别值和账面值(value)分别传递到我的模型中。

重要说明:

我不允许更改 json 结构,它应该保持原样。我只需更改和调整代码即可以正确的方式读取信息。

最佳答案

您可以使用 this code , 但我建议 grouping books

关于javascript - angularjs ng-将嵌套数组重复到一个唯一列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42247378/

相关文章:

javascript - 使用后端数据渲染页面以在 next.js 中的 getInitialProps 中使用

javascript - npm 在 ionic angular 中未满足对等依赖

javascript - 表中的 Angular ng-repeat 用数组迭代键

angularjs - 响应的 HTTP 状态代码为 400 + 请求的资源上不存在 'Access-Control-Allow-Origin' header 。 - 平均堆栈

javascript - sheetjs excel 到 json - 为每行添加额外的 <tr>

ios - 使用 NSDictionary 对象从数组中获取对象

javascript - 如何获取div的最后一个类

javascript - 如何在不更改 ExtJS 中的卡片的情况下选择选项卡面板中的选项卡?

javascript - 如何在事件接收器 Angular 中访问它

java - ArrayList<Boolean> 类型中的方法 toArray(T[]) 不适用于参数 (boolean[])