Javascript 为什么“ng checked”不能与“ng change”一起使用?
我有一个复选框列表。每当我点击一个复选框,我想调用一个函数,这取决于它是否被选中。这是通过使用Javascript 为什么“ng checked”不能与“ng change”一起使用?,javascript,angularjs,Javascript,Angularjs,我有一个复选框列表。每当我点击一个复选框,我想调用一个函数,这取决于它是否被选中。这是通过使用ng change 同时,我还选中了ng,这有助于我使用按钮取消选中复选框 实施情况如下: <md-checkbox md-no-ink="true" ng-checked="selected.indexOf(brand) > -1" ng-change="value?add(brand):remove(brand)" ng-model="value" ng-repeat="brand
ng change
同时,我还选中了ng
,这有助于我使用按钮取消选中复选框
实施情况如下:
<md-checkbox md-no-ink="true" ng-checked="selected.indexOf(brand) > -1" ng-change="value?add(brand):remove(brand)" ng-model="value" ng-repeat="brand in brands">
{{brand}}
</md-checkbox>
<md-button ng-click="fun('Spice')">Uncheck</md-button>
在Stackovrflow上也有类似的问题,但在复选框中缺少ng模型方面存在问题。我在这里包括了ng车型
为什么这不起作用?我做错什么了吗?州政府
请注意,本指令不应与ngModel一起使用,因为
这可能导致意外行为
您应该决定是使用ng型号
还是ng已选中
。不幸的是,目前无法在md checkbox
指令()上使用ng checked
。因此,您必须使用ng型号
。下面的代码应该对您有所帮助
HTML
<md-checkbox md-no-ink="true" ng-model="selected[$index]" ng-repeat="brand in brands track by $index">
{{brand}}
</md-checkbox>
Is Samsung selected: {{isSelected('Samsung')}}
请注意,每个复选框都需要自己的模型。在将$scope.value
用作所有复选框的单个模型之前-在这种情况下,将同时选中/取消选中所有复选框
我相信上面的代码就是你要找的。如果我没有抓住要点,请随时发表评论。ng checked指令不应与ng型号一起使用。哦。。我意识到了这个问题。ng model和ng checked之间存在冲突,无需
ng model
是否有办法确定复选框是否已选中?是的,如果您继续使用ng更改,而不是型号,则使用品牌阵列。让我更新我的答案。更新:Aha,但是您使用了材料设计,并且md复选框不支持ng checked
指令,对吗?然后,您必须使用ng型号
,而不是ng已选中
。不过,让我更新一下答案;)<代码>ng选中也适用于材料设计复选框,我让它工作了!非常感谢您的帮助:-)
<md-checkbox md-no-ink="true" ng-model="selected[$index]" ng-repeat="brand in brands track by $index">
{{brand}}
</md-checkbox>
Is Samsung selected: {{isSelected('Samsung')}}
$scope.brands = ['Apple','Samsung','Motorolla','Nokia','Micromax','Spice'];
$scope.selected = [];
$scope.isSelected = function(brand) {
var brandIndex = $scope.brands.indexOf(brand);
return $scope.selected[brandIndex]
};