遇到问题,这里的情况:
当我取消选中第二个复选框时,我想取消选中第一个复选框。
假设默认情况下都会选中两个复选框。当我点击第二个复选框时,我想要取消选中第一个复选框。
HTML:
<ion-checkbox ng-model="firstCheckbox">First Checkbox</ion-checkbox>
<ion-checkbox ng-model="secondCheckbox" ng-change="uncheckFirstCheckbox(secondCheckbox)">Second Checkbox</ion-checkbox>
JS:
$scope.uncheckFirstCheckbox = function(secondCheckbox) {
if(secondCheckbox.checked === false) {
$scope.firstCheckbox = false;
};
};
$scope.firstCheckbox
变为false,但在HTML中仍未取消选中。
我可以知道问题出在哪里吗?
答案 0 :(得分:2)
您尝试访问secondCheckbox.checked
属性,但secondCheckbox
已经false
。您应该只检查secondCheckbox
false
值。请使用if(!secondCheckbox)
代替条件。
Here是您的代码的一个工作小提琴。
<强> HTML 强>
<ion-checkbox ng-model="firstCheckbox">First Checkbox</ion-checkbox>
<ion-checkbox ng-model="secondCheckbox" ng-change="uncheckFirstCheckbox(secondCheckbox)">Second Checkbox</ion-checkbox>
<强> JS 强>
$scope.uncheckFirstCheckbox = function(secondCheckbox) {
if (!secondCheckbox) {
$scope.firstCheckbox = false;
};
};