Ich hatte eine Liste Array von ng-Modell auf meine Optionen. Jedes ng-Modell, das mit verschiedenen Werten zugewiesen wird, hängt von den Benutzereingaben ab. Es funktioniert für mich, als ich versuchte, die Optionen-Box auszuwählen und das Ergebnis produziert, was ich will. Aber als ich neue Daten von der API abrief und den Wert in diese Optionsbox analysierte. Funktioniert nicht.Wie akzeptiere ich Wert auf Optionsbox
HTML
<div ng-repeat="($a_choice_index, c) in menu.additionalchoice">
<label for="max_select" class="rl-label required">Do you want maximum select?
<label for="max_select" class="select-block">
<select id="max_select" name="max_select" ng-model="c[$a_choice_index].maxSelect" ng-change="selectMaxSelect(c[$a_choice_index].maxSelect, $a_choice_index)" ng-options="o.name for o in maxSelectOptions"></select>
<svg class="svg-arrow">
<use xlink:href="#svg-arrow"></use>
</svg>
</label>
</label>
</div>
-Controller
$scope.menu = {};
$scope.maxSelectOptions = [
{
name: "No",
value: 0
},
{
name: "Yes",
value: 1
}
];
$scope.selectMaxSelect = function(v, index){
$scope.menu.mealchoices[index].max_select = v;
};
MyService.GetData(function(menu){
$scope.menu = menu; // menu.additionalchoice is added into menu
});
-API-Daten
Jeder menu.additionalchoice produziert
{"1": {"title": "Lieblingsöle hinzufügen", "maxSelect": {"name": "Nein", "Wert": 0}}, "title": "Lieblingsöle hinzufügen" "max_select": 4, "additional_choice": 1, "MaxSelect": 1, "Mahlzeiten": ...
Als ich versuchte zu:
1) ng-init="c[$a_choice_index].maxSelect = c.maxSelect"
Es zeigt leer.
2) ng-init="selectMaxSelect(c.maxSelect, $a_choice_index)"
Es zeigt einige Werte, aber der Wert ist falsch. c[$a_choice_index].maxSelect
gibt {"name": "No", "value": 0}
zurück, wenn c.maxSelect == 1
das JA ist.
Können Sie Plukr erstellen. –
Probieren Sie ng-init = "c [$ a_choice_index] .maxSelect = o [0]" – Vivz