Я не получаю значение id значения параметра для выбранного элемента тега.id as ng-model для select in angularjs
<div ng-controller="UserCreationCtrl">
<form novalidate="novalidate" class="form-horizontal">
<div class="control-group">
<label class="control-label" for="inputFirstName">First name:</label>
<div class="controls">
<input type="text" id="inputFirstName" ng-model="doctor.firstName" placeholder="First name"/>
</div>
</div>
<div>
<span class="nullable">
<select ng-model="user.lookupId" ng-options="select as speciality.lookupName for speciality in specialityList" ng-change="selectedSpecilaty()">
<option value="">-- choose speciality --</option>
</select>
</span>
</div>
</form>
</div>
Мой контроллер
app.controller('UserCreationCtrl', ['$scope',
function ($scope) {
$scope.specialityList = [
{lookupId : 1, lookupName: 'speciality1'},
{lookupId : 2, lookupName: 'speciality2'},
{lookupId : 4, lookupName: 'speciality6'},
{lookupId : 3, lookupName: 'speciality3'}
];
$scope.user = {firstName: 'first name value', lookupId : 4};
$scope.selectedSpecilaty = function()
{
alert($scope.user.lookupId);
}
}]);
Как я могу это сделать. в поле предупреждения, в котором значение указано как «undefined».
Это работает именно то, что мне нужно. –
В моем случае (Angular 1.2.15) у меня было правильное выражение, но я использовал выражение «track by» в конце без необходимости, что, по-видимому, прерывает его и заставляет модель отслеживать весь объект, а не значение/ID вы выбираете. Отчасти это связано с отсутствием документации и, возможно, исправлением в новых версиях Angular; см. проблему GitHub: https://github.com/angular/angular.js/issues/6564. –
Официальная документация по ngOptions очень неясна в отношении использования 'as' для определения значения, установленного на ngModel. Спасибо за то, что думает более ясно, брат! :) –