2016-11-23 59 views
0

我有一個數據列表,我需要從中創建多個下拉列表。基於相同列表的多個下拉列表 - 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

回答

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> 
+0

感謝您的發現。欣賞它:) –