Ich drücke Schlüssel auf ein Array und ich wiederhole es, um Optionen im Dropdown-Menü zu erhalten. Beim Erstellen eines (Schlüssel-, Wert-) Paares sind Schlüssel im Array und Optionen identisch. Wenn wir die Option in Dropdown ändern, sollte der entsprechende Wert in HTML gerendert werden.AngularJS - Wie man den Schlüsselwert anhand der Dropdown-Optionen ändert
Hier ist der Code:
$scope.viewItemKeys = [pencils, pens, books];
$scope.viewItemObj = {
"pencils": {
"0": {},
"1": {},
"2": {}
},
"pens": {
"0": {},
"1": {},
"2": {},
"3": {},
"4": {}
},
"5": {},
"6": {},
"7": {}
},
"books": {
"0": {},
"1": {},
"2": {},
"3": {},
"4": {}
}
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<select id="selId" ng-options="key as value for (key , value) in viewItemkeys" ng-model="selectedItem" ng-change='onItemChange()'></select>
helfen Sie mir bitte, wenn ich Stifte in Bezug auf Schlüssel (dh 1 bis 7, innerhalb Stifte) wählen I {} Wert zu machen brauchen
Sie die Auswahl zu viewItemObj verbindlich. ViewItemKeys ist ein Array, aus dem Sie kein KV-Paar erstellen können. –
@Pratik, wenn ich wie "Schlüssel als Wert für (Schlüssel, Wert) in ViewItemObj" verwende, habe ich [Objekt Objekt] als Optionen im Dropdown. –
Das liegt daran, dass Sie 'als Wert' verwenden. Es sollte "wie Schlüssel" sein. Schau dir meine Antwort unten an, ich habe auch einen Fiddler-Link hinzugefügt. –