ich nicht immer den ID-Wert des Optionswertes von ausgewähltem Elemente von Tag.id als ng-Modell für ausgewählte 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>
Mein Controller
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);
}
}]);
Wie kann ich das tun. Die Alarmbox gibt den Wert als 'undefiniert' aus.
genau Dies funktioniert, was ich dank benötigen. –
In meinem Fall (Angular 1.2.15) hatte ich den Ausdruck richtig, aber ich wurde mit dem „Track von“ Ausdruck am Ende unnötig, die es scheinbar bricht und bewirkt, dass das Modell nicht das gesamte Objekt zu verfolgen, als der Wert/ID du wählst. Dies ist teilweise auf fehlende Dokumentation zurückzuführen und möglicherweise in neueren Versionen von Angular korrigiert; Sehen Sie sich das GitHub-Problem an: https://github.com/angular/angular.js/issues/6564. –
Die offizielle Dokumentation zu ngOptions ist sehr unklar, über die Verwendung von 'as' der Wert zu definieren, auf ngModel gesetzt wird. Danke, dass du dir Gedanken gemacht hast, klar, Bruder! :) –