0

Ich versuche, den Beispielcode von dieser Angularjs example Seite in meiner App für Eingabe [Radio] zu verwenden. Ich wähle ein Objekt als Wert eines bestimmten Optionsfelds, sodass jedes Optionsfeld in einer Gruppe den Wert eines Objekts hat.So überprüfen Sie Radio basierend auf benutzerdefinierten Modellwert

Im plunkr example, wenn Sie das Modell auf grün gesetzt, das ist:

$scope.color = { 
    name: 'green' 
}; 

Das richtige Optionsfeld aktiviert ist standardmäßig nicht. Ich denke es ist, weil der Wert dieses Optionsfelds ein Objekt ist.

Irgendwelche Ideen, wie es funktioniert? Wie überprüfe ich den richtigen Radiobutton, wenn sein Wert ein Objekt ist?

Antwort

0

Sie müssen das Modell $scope.color.name auf das „grüne“ Objekt verweisen, die in der ngValue Richtlinie definiert:

$scope.specialValue = { 
    id: '12345', 
    value: 'green' 
}; 

$scope.color = { 
    name: $scope.specialValue 
}; 

Weil es ngValue Richtlinie specialValue

<label> 
    <input type="radio" ng-model="color.name" ng-value="specialValue"> 
    Green 
</label> 

Hier gebunden ist, ist ein working example.

0

<!doctype html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>Example - example-radio-input-directive-production</title> 
 
    
 

 
    <script src="//code.angularjs.org/snapshot/angular.min.js"></script> 
 
    
 

 
    
 
</head> 
 
<body ng-app="radioExample"> 
 
    <script> 
 
    angular.module('radioExample', []) 
 
    .controller('ExampleController', ['$scope', function($scope) { 
 
     $scope.specialValue = { 
 
     "id": "12345", 
 
     "value": "green" 
 
     }; 
 
     $scope.color = { 
 
     name: $scope.specialValue 
 
     }; 
 
    }]); 
 
</script> 
 
<form name="myForm" ng-controller="ExampleController"> 
 
    <label> 
 
    <input type="radio" ng-model="color.name" value="red"> 
 
    Red 
 
    </label><br/> 
 
    <label> 
 
    <input type="radio" ng-model="color.name" ng-value="specialValue" checked=checked> 
 
    Green 
 
    </label><br/> 
 
    <label> 
 
    <input type="radio" ng-model="color.name" value="blue"> 
 
    Blue 
 
    </label><br/> 
 
    <tt>color = {{color.name | json}}</tt><br/> 
 
</form> 
 
Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`. 
 
</body> 
 
</html> 
 

 
<!-- 
 
Copyright 2017 Google Inc. All Rights Reserved. 
 
Use of this source code is governed by an MIT-style license that 
 
can be found in the LICENSE file at http://angular.io/license 
 
-->

Verwandte Themen