Angular JS:输入[收音机] 不起作用
Angular JS: input[radio] doesn't work
这是我的代码:
<div ng-controller="TestController">
<input ng-repeat="item in array" ng-model="selected.name" value="{{item.name}}" type="radio"></input>
</div>
<script type="text/javascript">
var app = angular.module('app', []);
app.controller('TestController', function ($scope) {
$scope.array = [{
name: 'lee',
seq: 1,
}, {
name: 'tom',
seq: 2,
}, {
name: 'jack',
seq: 3,
}];
$scope.selected = $scope.array[0];
});
</script>
页面显示时,默认选中的单选框是正确的。但是不能取消勾选,只能在另外两个checkbox之间切换?我该如何解决这个问题?
ng-repeat 创建新作用域,因此您应该确定父作用域。
有关详细信息,请参阅 https://docs.angularjs.org/api/ng/directive/ngRepeat
var app = angular.module('app', []);
app.controller('TestController', function ($scope) {
$scope.array = [{
name: 'lee',
seq: 1,
}, {
name: 'tom',
seq: 2,
}, {
name: 'jack',
seq: 3,
}];
$scope.selected = $scope.array[0].name;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="TestController">
<div ng-repeat="item in array">
<input type="radio" ng-model="$parent.selected"
ng-value="item.name" >
</div>
</div>
这是我的代码:
<div ng-controller="TestController">
<input ng-repeat="item in array" ng-model="selected.name" value="{{item.name}}" type="radio"></input>
</div>
<script type="text/javascript">
var app = angular.module('app', []);
app.controller('TestController', function ($scope) {
$scope.array = [{
name: 'lee',
seq: 1,
}, {
name: 'tom',
seq: 2,
}, {
name: 'jack',
seq: 3,
}];
$scope.selected = $scope.array[0];
});
</script>
页面显示时,默认选中的单选框是正确的。但是不能取消勾选,只能在另外两个checkbox之间切换?我该如何解决这个问题?
ng-repeat 创建新作用域,因此您应该确定父作用域。
有关详细信息,请参阅 https://docs.angularjs.org/api/ng/directive/ngRepeat
var app = angular.module('app', []);
app.controller('TestController', function ($scope) {
$scope.array = [{
name: 'lee',
seq: 1,
}, {
name: 'tom',
seq: 2,
}, {
name: 'jack',
seq: 3,
}];
$scope.selected = $scope.array[0].name;
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="TestController">
<div ng-repeat="item in array">
<input type="radio" ng-model="$parent.selected"
ng-value="item.name" >
</div>
</div>