Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular和JS过滤器基于非标准复选框行为_Javascript_Angularjs_Checkbox_Filter - Fatal编程技术网

Javascript Angular和JS过滤器基于非标准复选框行为

Javascript Angular和JS过滤器基于非标准复选框行为,javascript,angularjs,checkbox,filter,Javascript,Angularjs,Checkbox,Filter,我想在表数据上创建过滤器 过滤器应该是通用的(一对多过滤器组),并与搜索字段混合。我有数据、基本逻辑和搜索工作,但找不到正确的方法来构造返回过滤记录的函数。所有过滤器都有All作为选项,它在onLoad期间被选中,但其余复选框保持未选中状态(客户规范),当您选中其中一个过滤器选项时,All被取消选中 HTML和JS代码: $scope.checkedAll=[true,true]; $scope.data.items=[ {名称:“提供者”,值:'Provider_id',内容:[ {name

我想在表数据上创建过滤器

过滤器应该是通用的(一对多过滤器组),并与搜索字段混合。我有数据、基本逻辑和搜索工作,但找不到正确的方法来构造返回过滤记录的函数。所有过滤器都有
All
作为选项,它在
onLoad
期间被选中,但其余复选框保持未选中状态(客户规范),当您选中其中一个过滤器选项时,
All
被取消选中

HTML和JS代码:

$scope.checkedAll=[true,true];
$scope.data.items=[
{名称:“提供者”,值:'Provider_id',内容:[
{name:'Azure VM',value:'Azure_VM',selected:false},
{name:'CloudForms',value:'CloudForms',selected:false}
//更多的供应商。。。
]},
{name:“State”,value:'State_id',内容:[
{name:'Terminated',value:'Terminated',selected:false},
{name:'On',value:'On',selected:false},
{name:'Off',value:'Off',selected:false}
//更多州
]}
//更多过滤器[]
];
$scope.data.list=[
{provider_id:“provider 1”,display_name:“name1”,state_id:“on”},
{provider_id:“provider 2”,display_name:“name2”,state_id:“on”},
{provider_id:“provider 2”,display_name:“name3”,state_id:“off”},
{provider_id:“provider 2”,display_name:“name4”,state_id:“terminated”}
//更多的记录
];
$scope.optionClickedAll=函数(索引){
var checked=$scope.checkedAll[index];
如果(!选中){
返回;
}
angular.forEach($scope.data.items[index]。内容,函数(元素){
element.selected=!选中;
});
}
$scope.optionClicked=函数(索引,元素){
var checked=element.selected;
如果(选中){
$scope.checkedAll[index]=false;
}
}
$scope.filterSelected=函数(列表){
var结果=[];
/*var filterIds=[];
var itemIds=[];
对于(变量i=0;i<$scope.data.items.length;++i){
var item=$scope.data.items[i];
对于(变量j=0;j

过滤器
${Search}
{{item.name |大写}}
全部的
{{element.name}
供应商
陈述
名称
{{item.provider_id}
{{item.state_id}
{{item.display}

Angular支持定制过滤器,这可能正是您想要的。看看AngularJS文档。您还可以在这里找到一个示例。

Angular支持自定义过滤器,这可能是您想要的。看看AngularJS文档。您还可以在这里找到一个示例。

我忘了提到我不能使用自定义过滤器,因为此代码在ServiceNow平台上运行,Angular在这里有一些限制。我忘了提到我不能使用自定义过滤器,因为此代码在ServiceNow平台上运行,Angular在这里有一些限制。