【发布时间】:2014-06-14 00:53:52
【问题描述】:
我有一个问题,当 ng-model 已经在使用时,如何取消选中 ng-repeat 中的复选框?
这是结构:
对象:
$scope.wines = [
{ "name": "Wine a", "type": "white", "country": "italie", "style": "medium" },
{ "name": "Wine a", "type": "white", "country": "france", "style": "light" },
{ "name": "Wine a", "type": "white", "country": "france", "style": "sweet" }
];
$scope.winetypes = {white : true, red: true};
$scope.whitetypes = {light : false,medium : false,sweet : false};
});
HTML
<li ng-repeat="(type, value) in winetypes">
<input type="checkbox" ng-model="winetypes[type]" /> {{type}}
</li>
<li ng-repeat="(style, value) in whitetypes">
<input type="checkbox" ng-model="whitetypes[style]" /> {{style}}
</li>
<ul>
<li ng-repeat="wine in wines | winetypefilter:winetypes |whitefilter:whitetypes">
{{wine.name}} is a {{wine.type}} with {{wine.style}} style from {{wine.country}}
</li>
</ul>
- 我的愿望:链接到 whitetypes(轻、中、甜)的复选框将自动取消选中,当 white 复选框将被取消选中。我猜 ng-model 不能用来实现我的愿望,因为它已经在使用了。
我试过没有成功:
$scope.white= function() {
if($scope.winetypes.white = false) {
return $scope.whitetypes = {light: false, medium: false, sweet: false}
};
$scope.white;
【问题讨论】:
-
您是否也希望在检查白色时也检查所有与白色相关的属性???
-
这个想法只是在未选中白色复选框时取消选中相关属性。再次感谢您的帮助:)