Javascript 过滤多个复选框
我试图在多个复选框中筛选结果 这是我的 如何为过滤器的Javascript 过滤多个复选框,javascript,angularjs,checkbox,Javascript,Angularjs,Checkbox,我试图在多个复选框中筛选结果 这是我的 如何为过滤器的复选框编写动态ng模型 函数MainCtrl($scope){ $scope.languages=[ {name:'波斯语',_id:0}, {name:'English',_id:1}, {名称:'西班牙语',_id:2} ]; $scope.bu=[ {name:'A',_id:1}, {name:'B',_id:2}, {name:'C',_id:3}, {name:'D',_id:4}, {name:'E',_id:5} ]; $s
复选框
编写动态ng模型
函数MainCtrl($scope){
$scope.languages=[
{name:'波斯语',_id:0},
{name:'English',_id:1},
{名称:'西班牙语',_id:2}
];
$scope.bu=[
{name:'A',_id:1},
{name:'B',_id:2},
{name:'C',_id:3},
{name:'D',_id:4},
{name:'E',_id:5}
];
$scope.array=[
{
“id”:910,
“语言”:{
“_id”:“333”,
“姓名”:“波斯语”,
“缩写”:“PE”
},
“业务单位”:{
“_id”:“2”,
“名称”:“B”
}
},
{
“id”:909,
“语言”:{
“_id”:“456”,
“名称”:“英语”,
“缩写”:“EN”
},
“业务单位”:{
“_id”:“3”,
“名称”:“C”
}
},
{
“id”:908,
“语言”:{
“_id”:“456”,
“姓名”:“西班牙语”,
“缩写”:“SP”
},
“业务单位”:{
“_id”:“4”,
“名称”:“D”
}
},
{
“身份证”:911,
“语言”:{
“_id”:“343”,
“姓名”:“德语”,
“缩写”:“GE”
},
“业务单位”:{
“_id”:“5”,
“名称”:“E”
}
},
{
“id”:912,
“语言”:{
“_id”:“696”,
“姓名”:“俄文”,
“缩写”:“RU”
},
“业务单位”:{
“_id”:“1”,
“名称”:“A”
}
}]
}
{{o.name}},
`
{{o.name}},
`
{{arr.language.name}}”和“{arr.business_unit.name}”
您可以使用自定义过滤器来实现您的目标:
自定义文件管理器:
filter('myFilter', function() {
return function(items, search) {
var filterItems = {
search: search,
result: []
};
if (!search.needFilter) {
return items;
}
angular.forEach(items, function(value, key) {
if (this.search.language[value.language.name] === true || this.search.business_unit[value.business_unit.name] === true) {
this.result.push(value);
}
}, filterItems);
return filterItems.result;
};
})
HTML:
按语言搜索:
{{o.name}}
按单位搜索:
{{o.name}}
结果:
{{arr.language.name}}”和“{arr.business_unit.name}”
有关更多详细信息,请参见您可以使用自定义筛选器来实现您的目标: 自定义文件管理器:
filter('myFilter', function() {
return function(items, search) {
var filterItems = {
search: search,
result: []
};
if (!search.needFilter) {
return items;
}
angular.forEach(items, function(value, key) {
if (this.search.language[value.language.name] === true || this.search.business_unit[value.business_unit.name] === true) {
this.result.push(value);
}
}, filterItems);
return filterItems.result;
};
})
HTML:
按语言搜索:
{{o.name}}
按单位搜索:
{{o.name}}
结果:
{{arr.language.name}}”和“{arr.business_unit.name}”
有关更多详细信息,请参见我认为如果不编写自定义过滤器AFAIK,您无法完成此操作。如果您只能选择一种语言,则可以使用内置过滤器。我很乐意为您提供帮助,但请澄清您的问题。是将复选框绑定到包含选定值的数组/对象(似乎不起作用)的问题,还是仅仅是独立于值的选择方式的筛选步骤。如果两者都有,您可以创建两个独立的较短问题。如果只有一个,请省去不相关的部分,缩短你的问题。你的小提琴使用角度1.0.3。这是一项要求吗?这可能有助于您在@lex82复选框中进行选择。谢谢您的时间。不符合角度1.0.3的规定。。这个问题实际上是根据两个列表中的复选框过滤主要结果。。任何一个和两个列表都应该有效。我不认为不编写自定义过滤器就可以做到这一点。如果您只能选择一种语言,则可以使用内置过滤器。我很乐意为您提供帮助,但请澄清您的问题。是将复选框绑定到包含选定值的数组/对象(似乎不起作用)的问题,还是仅仅是独立于值的选择方式的筛选步骤。如果两者都有,您可以创建两个独立的较短问题。如果只有一个,请省去不相关的部分,缩短你的问题。你的小提琴使用角度1.0.3。这是一项要求吗?这可能有助于您在@lex82复选框中进行选择。谢谢您的时间。不符合角度1.0.3的规定。。这个问题实际上是根据两个列表中的复选框过滤主要结果。。任何一个和两个列表都应该有效。