角度 ng-repeat 过滤器,大于 [英] Angular ng-repeat filter with greater than

查看:34
本文介绍了角度 ng-repeat 过滤器,大于的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 angular 创建一个搜索属性表单,并且我有一个包含卧室数量的选择框,如何创建一个大于过滤器的过滤器?(例如:选择2房时,显示所有2房及以上房源)

I'm using angular to create a search property form, and I've got a select box with amount of bedrooms, how can I create a greater then filter? (for example: when 2 bedrooms selected, display all properties with 2 bedrooms or more)

选择框:

<select class="form-control" 
        name="bedrooms" 
        ng-model="Bedrooms" 
        ng-options="property.data.SubType as (property.data.Bedrooms + ' Bedrooms ('+ property.count +')') for property in properties  | unique:'Bedrooms' | orderBy:'data.Bedrooms'">
        <option value="">Minimum Bedrooms</option>
</select>  

和过滤器:

<tr ng-repeat="property in filtered = (properties | filterMultiple:{Address: Address, SubArea:SubArea, SubType:SubType} | filter:{Bedrooms:Bedrooms})|  orderBy:Address">  

这是我的JSFiddle

推荐答案

http://jsfiddle.net/odpw6c6q/43/

ng-options 中使用 ng-options="property.data.Bedrooms as 而不是 ng-options="property.data.SubType as因为 data.Bedrooms 是包含卧室数量的属性,应该存储在 ng-model

In ng-options use ng-options="property.data.Bedrooms as instead of ng-options="property.data.SubType as because data.Bedrooms is the property that contains number of bedrooms which should be stored in ng-model

在作用域内添加这个函数

In scope add this function

//Filter Function
    $scope.greaterThan = function(bedrooms) {
        return function(item) {                          
            if ( item['Bedrooms'] > bedrooms) {                
                return true;
            } else {                
                return false;
            }
        }
    };

ng-repeat 中使用 filter: GreaterThan(Bedrooms) 而不是 filter:{Bedrooms:Bedrooms}

In ng-repeat use filter: greaterThan(Bedrooms) instead of filter:{Bedrooms:Bedrooms}

这篇关于角度 ng-repeat 过滤器,大于的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆