2016-11-23 5 views
0

Я создал варианты с ng-repeat, но функция, заданная с on-change, никогда не вызывается.ng-change не работает с ng-repeat с опциями, но работает с ng-опциями

<select> 
<option ng-model="level1Selected" ng-repeat="item1 in level1" ng-change="setLevel2()" value="{{item1}}">{{item1}}</option> 

Я воссоздал то же самое с нг-опций, а функция вызывается:

<select ng-options="item1 for item1 in level1" ng-model="level1Selected" ng-change="setLevel2()"></select> 

Я проверил документацию, и я не вижу причин этой разницы. Переменная level1 представляет собой массив строк, поэтому я не понимаю, почему они ведут себя по-разному.

функция в настоящее время только заполнитель с console.log:

$scope.setLevel2 = function() { 
    console.log("value: "); 
} 
+1

положить 'ng-change' на элемент' select' не 'option', так как это значение' select', которое меняет – mic4ael

+1

'ng-change' будет работать на' select'/'input', он не предназначен (никогда) работать с тегом' option' –

ответ

3

Если вы хотите сделать что вам нужно положить нг-модель и нг-изменение выбора тега, попробуйте следующее:

<select ng-model="level1Selected" ng-change="setLevel2()"> 
    <option ng-repeat="item1 in level1" value="{{item1}}">{{item1}}</option> 
</select> 
+1

Вам не хватает закрывающего тега для