Angular 带有 ng-repeat 的单选按钮列表
Angular radio button listing with ng-repeat
如何在单击 'clear' 按钮时清除单选按钮的选中状态?
在 ng-repeat 中列出单选按钮,
<label ng-repeat="item in items">
<input type="radio" name="test" ng-model="test" value="{{item.name}}" />{{item.name}}
</label>
<a class="undo" ng-click="clear()">Clear</a>
是否可以从另一个控制器清除检查状态?
您可以使用广播事件。看到这个答案:
然后在控制输入收音机的控制器中,执行以下操作:
.controller('radioController', function($scope){
$scope.$on('triggerClearRadio', function(){
$scope.items.forEach(function (item, i) {
item.checked = false;
});
});
});
更改输入 html 以使用 ng-model="item.checked"
而不是 ng-model="test"
通过您的清除按钮,您可以像这样广播 'triggerClearRadio' 事件(不过可以命名为更好的名称):
<button type="button" ng-click="$root.$broadcast('triggerClearRadio')>Clear radios</button>
看到这个fiddle:http://jsfiddle.net/takuan/aaoub2mg/
这会很好..!!!
angular.module("myApp", []).controller("Example", ["$scope", function($scope) {
$scope.data = {};
$scope.items = [
{name: 'one'},
{name: 'two'},
{name: 'three'},
{name: 'four'},
{name: 'five'},
];
$scope.clear = function(){
$scope.data = {};
//alert("hello");
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<div ng-app="myApp" ng-controller="Example">
<label ng-repeat="item in items">
<input type="radio" name="test" ng-model="data.test" value="{{item.name}}" />{{item.name}}
</label>
<br>
<a class="undo" ng-click="clear()">Clear</a>
</div>
如何在单击 'clear' 按钮时清除单选按钮的选中状态?
在 ng-repeat 中列出单选按钮,
<label ng-repeat="item in items">
<input type="radio" name="test" ng-model="test" value="{{item.name}}" />{{item.name}}
</label>
<a class="undo" ng-click="clear()">Clear</a>
是否可以从另一个控制器清除检查状态?
您可以使用广播事件。看到这个答案:
然后在控制输入收音机的控制器中,执行以下操作:
.controller('radioController', function($scope){
$scope.$on('triggerClearRadio', function(){
$scope.items.forEach(function (item, i) {
item.checked = false;
});
});
});
更改输入 html 以使用 ng-model="item.checked"
而不是 ng-model="test"
通过您的清除按钮,您可以像这样广播 'triggerClearRadio' 事件(不过可以命名为更好的名称):
<button type="button" ng-click="$root.$broadcast('triggerClearRadio')>Clear radios</button>
看到这个fiddle:http://jsfiddle.net/takuan/aaoub2mg/
这会很好..!!!
angular.module("myApp", []).controller("Example", ["$scope", function($scope) {
$scope.data = {};
$scope.items = [
{name: 'one'},
{name: 'two'},
{name: 'three'},
{name: 'four'},
{name: 'five'},
];
$scope.clear = function(){
$scope.data = {};
//alert("hello");
}
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.12/angular.min.js"></script>
<div ng-app="myApp" ng-controller="Example">
<label ng-repeat="item in items">
<input type="radio" name="test" ng-model="data.test" value="{{item.name}}" />{{item.name}}
</label>
<br>
<a class="undo" ng-click="clear()">Clear</a>
</div>