基于相同列表的多个下拉列表 - AngularJS

时间:2016-11-23 14:39:48

标签: angularjs

我有一个数据列表,我需要从中创建多个下拉列表。

[
   {
      "Id":1,
      "name":"Return on Equity (IFRS)",
      "type":"profitability",

   },
   {
      "Id":2,
      "name":"Return on Assets (IFRS)",
      "type":"profitability",

   },
   {
      "Id":3,
      "name":"EBITDA Margin (IFRS)",
      "type":"profitability",

   },
   {
      "Id":4,
      "name":"EBIT Margin (IFRS)",
      "type":"profitability",

   },
   {
      "Id":5,
      "name":"Net Profit Margin (IFRS)",
      "type":"profitability",

   },
   {
      "Id":8,
      "name":"Cash Ratio",
      "type":"liquidity",

   },
   {
      "Id":9,
      "name":"Quick Ratio",
      "type":"liquidity",

   },
   {
      "Id":10,
      "name":"Current Ratio",
      "type":"liquidity",

   },
   {
      "Id":11,
      "name":"Net Financial Liabilities",
      "type":"debt",

   }
];

每种类型都有多个“类型”值和“名称”。我需要根据第一个下拉列表中选择的类型在下拉列表中显示“名称”。例如,如果在第一个下拉列表中选择“类型”是“流动性”,那么我需要填充下一个下拉列表,其中“名称”与“流动性”相关,即“现金比率”,“快速比率”和“当前”比”。

这是我到目前为止所尝试的。 Plunker

1 个答案:

答案 0 :(得分:0)

您的解决方案接近最终结果,但您在过滤器中将对象与对象的元素(类型)进行比较。我只是向您展示您的Plunker中唯一可以修改以执行您正在寻找的内容。

<select ng-model="nameng" ng-options="option.name for option in models | filter:{type:typeng.type}">
    <option ng-disabled="true"  ng-selected="true" value="">Select a name</option>
</select>