2016-12-29 3 views
1

Шаблон:угловой нг-модель не работает, как ожидалось

<select id="siteOptions" ng-model="siteVal" ng-change="siteChange()"> 
    <option ng-repeat = "site in sites" ng-selected="{{site == selectedSite}}" value="site">{{site}}</option> 
</select> 

Контроллер:

$scope.siteChange = function(){ 
     console.log(" $scope.siteVal--> "+ $scope.siteVal); 
} 

я мог бы иметь возможность заполнить значения в раскрывающемся списке правильно, но когда я пытаюсь выбрать значение в раскрывающемся списке I может видеть "$ scope.siteVal -> undefined". Даже когда я выбираю выпадающее значение, множественное время ng-change запускается только один раз.

+0

Ваш код работает отлично –

ответ

1

Удалить .value атрибут из вашей разметки html, и ваш код будет работать нормально!

<select id="siteOptions" ng-model="siteVal" ng-change="siteChange()"> 
    <option ng-repeat = "site in sites" ng-selected="{{site == selectedSite}}">{{site}}</option> 
</select> 

От DOCS

Примечания: ngSelected не взаимодействует с отборной и ngModel директивы, она только устанавливает выбранный атрибут элемента. Если вы используете ngModel на выбор, вы не должны использовать ngSelected на варианты, так как ngModel установит выберите значение и выбранный вариант

Here is the plunker, который демонстрирует тот же

+0

спасибо Dhaval , после удаления значения из html я могу получить доступ к выбранному параметру внутри ng-модели. – Selva

+0

Не могли бы вы принять ответ, если он поможет? –

+1

Ваш ответ действительно полезен. Спасибо У Дхавалу. – Selva

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