我正在尝试使用单选按钮在 AngularJS 中构建一个颜色配置器,一切似乎都在工作,数据绑定(bind)等等......但是我无法设置默认颜色单选按钮强>。正如我在文档中看到的那样,如果 ng-model 与 radio 值相同,则应该自动检查输入,但我不知道这是否仅适用于字符串而不适用于对象。
这是 HTML:
<div ng-app ng-controller="ThingControl">
<ul >
<li ng-repeat="color in colors">
<input type="radio" ng-model="thing.color" value="{{color}}" />{{ color.name }}
</li>
</ul>
Preview: {{ thing }}
</div>
这是 JS:
function ThingControl($scope){
$scope.colors = [
{ name: "White", hex: "#ffffff"},
{ name: "Black", hex: "#000000"}
]
$scope.thing = {
color: $scope.colors[1]
}
}
你可以在这个 fiddle 中看到前面的例子: http://jsfiddle.net/xWWwT/1/
非常感谢!
最佳答案
选择与值中定义的字符串匹配,所以你可以做
value="{{color.name}}"
$scope.thing = {
color: $scope.colors[1].name
}
或
value="{{color}}"
$scope.thing = {
color: JSON.stringify($scope.colors[1])
}
正如@bertez 提到的,使用ng-value
是最好的解决方案。
ng-value="color"
关于javascript - Angularjs:选中单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18518251/