2016-03-04 64 views
1

這是我的JSON數據:Angular select populate dropdown?

[{ 
    "table":"mCity", 
    "drpdownItems":[ 
    { 
     "Display":"ab", 
     "Value":1 
    }, 
    { 
     "Display":"a", 
     "Value":10 
    }, 
    { 
     "Display":"Delhi", 
     "Value":7 
    }, 
    { 
     "Display":"Devgad", 
     "Value":4 
    }, 
    { 
     "Display":"Kalyan", 
     "Value":5 
    }, 
    { 
     "Display":"Mumbai", 
     "Value":2 
    }, 
    { 
     "Display":"Nashik", 
     "Value":9 
    }, 
    { 
     "Display":"New Mumbais", 
     "Value":6 
    }, 
    { 
     "Display":"Panji ", 
     "Value":8 
    }, 
    { 
     "Display":"Pune", 
     "Value":3 
    } 
    ] 
}] 

我想下面的輸出:

<select> 
    <option value="1">ab</option> 
    <option value="10">a</option> 
    <option value="7">Delhi</option> 
</select> 

我嘗試以下操作:

ng-options="City.Display as City.Value for drpdownItems in CmbsData.table['mCity']" 
+0

試試這個'NG選項=「City.Display作爲City.Value爲drpdownItems在CmbsData.drpdownItems」' –

回答

0
ng-options="City.Display as City.Value for drpdownItems in CmbsData[0].drpdownItems" 

CMBS是一個數組,並drpdownItems是該對象屬性是該數組的第一個元素

根據評論編輯:概括形式 ng-options =「City.Display as City.Value for drpdownItems in(CmbsData |過濾器:{表: 'mCity'})drpdownItems」

+0

我想過濾哪些表是'mCity'。不想用索引進行硬編碼。 有機會我會得到多個對象。 –

+0

回答更新爲更廣泛的fom –

+0

謝謝你謝謝:) –

0

更新基於以下評論:

<select 
    ng-options="City.Value as City.Display for City in (CmbsData | filter:{table:'mCity'}:true|limitTo:1)[0].drpdownItems" 
    ng-model="selectedCity"> 
</select> 

爲了使一種嚴格匹配,請在您的filter. It is better to use limitTo使用true:1 because there may be multiple matches. 。過濾and limitTo always result in an array. Since we are limiting by 1, we can use [0]`指數來得到我們想要的城市

原來的答覆:

您需要使用這樣的

<select name="" id="" ng-options="City.Value as City.Display for City in CmbsData[0].drpdownItems" ng-model="selectedCity"></select> 

ng-options語法_select_ (as _label_)? for (_key_,)?_value_ in _collection_

+0

我想篩選哪裏表是'mCity'。不想用索引 –

+0

進行硬編碼我已經更新了答案。 –