【问题标题】:How to fill dropdown by matching key from array inside ng repeat?如何通过匹配ng重复中的数组中的键来填充下拉列表?
【发布时间】:2016-09-09 00:25:49
【问题描述】:

我有这样的 json 结构:

101 :
     "List": [
      {
        "Name": "Pink"
      },
      {
        "Name": "Black"
      }
    ]

102 :
     "List": [
      {
        "Name": "Red"
      },
      {
        "Name": "Yellow"
      }
    ]

$scope.Ids = [101,102,103,104];

现在我在 ID 列表上有 1 ng 重复循环循环(例如:101,102),所以我想用特定 ID 填充下拉列表。例如,对于 ID 101,我想填充粉色、黑色和 102 我想在我的下拉列表中填充红色,黄色,休息时我想简单地忽略,但我不知道如何实现这一点。

代码:

<div ng-repeat="item in Ids track by item.id">
  <select ng-model="color" ng-options="">
         <option value="">-- choose color --</option>
      </select>
</div>

【问题讨论】:

  • 试试ng-options="{item.List}"
  • @AhmadMobaraki :谢谢,但你能发布整个 ng-options 吗??
  • 您可以使用 ng-filter,这里有一个可以帮助您的示例:stackoverflow.com/questions/20189406/…

标签: javascript angularjs angularjs-ng-repeat ng-options


【解决方案1】:

假设下拉地图存储在一个对象中:$scope.map:

<div ng-repeat="id in Ids">
  <select ng-model="color" ng-options="opt.name for opt in map[id].list"></select>
</div>

【讨论】:

    【解决方案2】:
    <div ng-repeat="level1 in Ids">
      <select ng-model="color" ng-options="level2 for level2 in level1.List">  
       </select>
    </div>
    

    你不需要option标签!

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 2012-12-06
      • 2013-09-02
      • 2019-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多