2016-03-04 3 views
1

Это мой JSON данные:Угловой выбор населенного пункта выпадающего списка?

[{ 
    "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

Попробуйте это 'нг-параметры = "City.Display как City.Value для drpdownItems в CmbsData.drpdownItems"' –

ответ

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

СТСПС является массивом, и 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> 

Для того, чтобы сделать строгий матч, пожалуйста, используйте true в вашем filter. It is better to use limitTo: 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

Я обновил ответ. –

Смежные вопросы