использование ng-опций для объекта с повторяющимися значениями - angularjs

пример JSBIN

Я использую объект для своего ng-options :

$scope.data = {
    option1 : 1,
    option2 : 1,
    option3 : 1,
    option4 : 2 
  };

Обратите внимание, что параметры 1-3 имеют одинаковое значение 1.

Использование этого элемента select с директивой ng-options

<select   ng-model=combo_value 
          ng-change='set_value()'
          ng-options="k for (k,v) in data">
</select>

Я не могу выбрать варианты 1 и 2.

Еще более странно то, что с помощью клавиатуры я могу выбрать варианты 1 и 2, но при выборе с помощью мыши выбор автоматически переходит к варианту 3 (предполагается, что это потому, что это последний параметр со значением 1).

Я пробовал разные выражения ng-options, но ни одно из них не работает

v as k for (k,v) in data
k for (k,v) in data track by $index
k for (k,v) in data track by k

примечание: k всегда уникально


person haki    schedule 18.03.2014    source источник


Ответы (2)


k as v for (k, v) in data

должен позволить вам выбрать любой вариант. В этом случае ваша модель combo_value получит значение option1, option2 и т. д.

person srdan    schedule 18.03.2014

Используйте ng-options="k as k for (k,v) in data", чтобы отобразить и получить option1, option2, option3, option4 в качестве выбранного значения.

Вот рабочий пример:

http://plnkr.co/edit/S8RBm8?p=preview

person chr1s1202    schedule 18.03.2014