Javascript 使用Angularjs基于另一个复选框取消选中所有复选框

Javascript 使用Angularjs基于另一个复选框取消选中所有复选框,javascript,angularjs,Javascript,Angularjs,我试图弄清楚,如果用户选中N/A,所有其他框都将被取消选中(如果选中)。下面是我的工作内容,但我不确定如何取消选中这些框并将其设置为false。非常感谢您的帮助 var-app=angular.module('MyApp',[]); app.controller('MyAppController',['$scope',', 职能($范围){ $scope.appliances=[{ 名称:'不适用' }, { 名称:'计算机', 不包括:不适用 }, { 名称:"电视",, 不包括:不适用 }

我试图弄清楚,如果用户选中
N/A
,所有其他框都将被取消选中(如果选中)。下面是我的工作内容,但我不确定如何取消选中这些框并将其设置为false。非常感谢您的帮助

var-app=angular.module('MyApp',[]);
app.controller('MyAppController',['$scope',',
职能($范围){
$scope.appliances=[{
名称:'不适用'
},
{
名称:'计算机',
不包括:不适用
},
{
名称:"电视",,
不包括:不适用
},
{
姓名:'语音助理',
不包括:不适用
}
];
$scope.myObj={};
}
]);

{{app.Name}

在这种情况下,DavidX的答案是正确的。但是,我们可以通过使用以通用方式存在
ExcludedBy
属性来改进验证方法

不一定,数组
$scope的第一个元素。设备
将是
N/A

对于这个例子,我使用的是指令

大概是这样的:

第一个示例:

var-app=angular.module('MyApp',[]);
app.controller('MyAppController',['$scope',',
职能($范围){
$scope.appliances=[{
名称:'不适用'
},
{
名称:'计算机',
不包括:不适用
},
{
名称:"电视",,
不包括:不适用
},
{
姓名:'语音助理',
不包括:不适用
}
];
$scope.myObj={};
$scope.check=函数(){
var naItem=$scope.appliances.find(函数(x){
返回x.ExcludedBy==未定义;
});
if($scope.myObj[naItem.Name]){
$scope.myObj={};
$scope.myObj[naItem.Name]=true;
}
};
}
]);

{{app.Name}

您可以使用ng更改触发函数来更改基础内容

var-app=angular.module('MyApp',[]);
app.controller('MyAppController',['$scope',',
职能($范围){
$scope.appliances=[
{
名称:'不适用'
},
{
名称:'计算机',
不包括:不适用
},
{
名称:"电视",,
不包括:不适用
},
{
姓名:'语音助理',
不包括:不适用
}
];
$scope.myObj={};
$scope.checkForNA=函数(){
if($scope.myObj[$scope.appliances[0].Name]){
$scope.myObj={};
$scope.myObj[$scope.appliances[0].Name]=true;
}
}
}]);

{{app.Name}
类似这样的东西

var-app=angular.module('MyApp',[]);
app.controller('MyAppController',['$scope',',
职能($范围){
$scope.appliances=[
{
名称:'不适用'
},
{
名称:'计算机',
不包括:不适用,
选:错,
IsDisabled:错误
},
{
名称:"电视",,
不包括:不适用,
选:错,
IsDisabled:错误
},
{
姓名:'语音助理',
不包括:不适用,
选:错,
IsDisabled:错误
}
];
$scope.myObj={};
$scope.checkAll=函数(名称,isSelected){
如果(名称==‘不适用’){
对于(变量i=0;i<$scope.appliances.length;i++){
if($scope.appliances[i].Name!=Name&&$scope.appliances[i].ExcludedBy==Name){
$scope.appliances[i].IsSelected=false;
$scope.appliances[i].IsDisabled=!isSelected;
}
}
}
};
}]);

{{app.Name}

我在阅读了另一个网页后也做了同样的事情。但当您单击“N/A”时,所有选项都会被选中。我需要的是,当“N/A”所有其他复选框都未选中时,但“N/A”仍处于选中状态。@user990951请使用ng change或ng click查看其他解决方案。我相信这会给你想要的。@user990951哦,对不起。我刚刚更正了我的答案。简单明了+1
var naItem = $scope.appliances.find(function(x) {
  return x.ExcludedBy === undefined;
});