Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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/22.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 基于下拉范围的Angularjs搜索过滤器_Javascript_Angularjs - Fatal编程技术网

Javascript 基于下拉范围的Angularjs搜索过滤器

Javascript 基于下拉范围的Angularjs搜索过滤器,javascript,angularjs,Javascript,Angularjs,我有一个角度下降的问题。我想用下拉选择值显示带有ng repeat的项目,并将它们拆分为范围。有人能帮忙吗 请告诉我好吗 jsfiddle: 这是我的密码: JS HTML 像这样创建一个自定义过滤器 $scope.searchPro = function(name){ return function(item){ debugger if(name && name != ""){ var arr = name.split("-");

我有一个角度下降的问题。我想用下拉选择值显示带有
ng repeat
的项目,并将它们拆分为范围。有人能帮忙吗 请告诉我好吗

jsfiddle:

这是我的密码:

JS

HTML


像这样创建一个自定义过滤器

$scope.searchPro = function(name){
    return function(item){ 
    debugger
    if(name && name != ""){
      var arr = name.split("-"); 
       if(parseInt(arr[0]) <= item.size &&  parseInt(arr[1]) >= item.size){
            return item;
        }
     }else{
        return item
     }
    }
  }
ng-repeat="result in filteredResuls = (results | filter:searchPro(search.size) ) | orderBy:name"

您可以编写一个自定义的
过滤器
函数,它可以根据范围过滤项目。大概是这样的:

$scope.searchSize = function(obj) {
  if($scope.size && obj.size) {
    var range = $scope.size.split("-");
    if(obj.size >= Number(range[0]) && obj.size <= Number(range[1])) {
      return true;
    }
    return false;
  } 
  return true;
}
$scope.searchSize=函数(obj){
如果($scope.size&&obj.size){
变量范围=$scope.size.split(“-”);

如果(obj.size>=Number(范围[0])&&obj.size hi@sachila ranawaka,在集成您的解决方案后,我的其他字段无法正常工作。请您尝试一下此小提琴-@FaridulHassan如果有帮助,请将我的标记为已接受:d非常感谢@tanmay。现在它已完全工作:)
$scope.searchPro = function(name){
    return function(item){ 
    debugger
    if(name && name != ""){
      var arr = name.split("-"); 
       if(parseInt(arr[0]) <= item.size &&  parseInt(arr[1]) >= item.size){
            return item;
        }
     }else{
        return item
     }
    }
  }
ng-repeat="result in filteredResuls = (results | filter:searchPro(search.size) ) | orderBy:name"
$scope.searchSize = function(obj) {
  if($scope.size && obj.size) {
    var range = $scope.size.split("-");
    if(obj.size >= Number(range[0]) && obj.size <= Number(range[1])) {
      return true;
    }
    return false;
  } 
  return true;
}