我检查了this question,但它并不是非常有用,因为他们使用ng-repeat的方式不同。
This也没有帮助。
我有一张表格:
<label ng-repeat="option in options">
<input type="radio" ng-model="myObject.value" ng-value="option.key">
</label>
我的角度控制器:
options = {
key: 'Option 1'
val: 'Value 1'
}
$scope.myObject = { value: 'default option' }
我希望这能设置默认的无线电选项。发生的事情是,无论我尝试什么,最后option in list
都被设置为默认值。我确定我不明白为什么会这样,所以我在这里。
如何设置默认的无线电选项以及我当前的配置有什么问题?谢谢你的帮助。
答案 0 :(得分:0)
如果要将myObject.value
的值设置为输入的默认选项,则必须有该键的选项。
演示:https://jsfiddle.net/2cb53pj3/
只需使用$scope.myObject.value
数组
options
即可
答案 1 :(得分:0)
准备好了,但另一个答案是在我之前提交的。您需要将myObject.value
设置为与您希望成为默认值的option.key
相匹配。
的script.js
(function () {
angular.module('radioExample', [])
.controller('ExampleController', ['$scope',
function($scope) {
$scope.options = [{
'key': 'Option 1',
'val': 'Value 1'
}, {
'key': 'Option 2',
'val': 'Value 2'
}, {
'key': 'Option 3',
'val': 'Value 3'
}];
$scope.myObject = {
value: 'Option 2'
};
}
]);
})();
的index.html
<!DOCTYPE html>
<html ng-app="radioExample">
<head>
<script data-require="angular.js@*" data-semver="1.4.0-beta.6" src="https://code.angularjs.org/1.4.0-beta.6/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller="ExampleController">
<form name="Options">
<div ng-repeat="option in options">
<label>{{option.key}}</label>
<input type="radio" ng-model="myObject.value" ng-value="option.key">
</div>
Selected option is {{myObject.value}}
</form>
</body>
</html>