按数值范围过滤,自定义过滤器 - AngularJS

时间:2015-06-16 03:31:36

标签: javascript angularjs

我正在尝试为AngularJS数据创建一个过滤器。我有2个输入,minAgeInput和maxAgeInput。

我想返回所有产品/对象(使用ng-repeat),其中产品的minAge和maxAge在输入值设置的边界内。

我的过滤器功能如下所示:
或链接到Plunker

$scope.ageRange = function (plane) {
var minAgeProduct = parseFloat(product.minAge);
var maxAgeProduct = parseFloat(product.maxAge);
var minAgeInput = parseFloat($scope.minAge);
var maxAgeInput = parseFloat($scope.maxAge);

if(minAgeInput >= minAgeProduct) {
    if(maxAgeInput <= maxAgeProduct) {
        return true;
    } else {
        return false;
    }
    return true;
} else {
    return false;
}
};

1 个答案:

答案 0 :(得分:0)

以下是该问题的功能性解决方案:

$scope.ageRange = function (plane) {
    var minAgeProduct = parseFloat(plane.minAge);
    var maxAgeProduct = parseFloat(plane.maxAge);
    var minAgeInput = parseFloat($scope.minAge);
    var maxAgeInput = parseFloat($scope.maxAge);

    if (!isNaN(minAgeInput) && maxAgeProduct < minAgeInput)
        return false;

    if (!isNaN(maxAgeInput) && minAgeProduct > maxAgeInput)
        return false;

    return true;
};

可在此处找到工作解决方案Plunker