Angularjs按价格搜索产品(从价格到价格)

时间:2016-10-24 08:56:19

标签: javascript angularjs

我尝试添加过滤器,以便按from price to price搜索产品。我在控制器中以json格式跟随数组$scope.products

[
  {"product_id":"1","product_price":"185"},
  {"product_id":"2","product_price":"45"},
  {"product_id":"3","product_price":"123"},
  {"product_id":"4","product_price":"23"},
  {"product_id":"5","product_price":"776"}
]

以下是html中的循环

<ul class="items">
  <li ng-repeat="product in products | filter:{product_name: findname} | sizeFilter:(size_arr|filter:{on:true})" >
    <strong>{{product.product_name | CapsFirst}}</strong> 
    <strong>({{product.product_category}})</strong>
    <strong>({{product.product_size}})</strong>
    <strong>({{product.product_color}})</strong>
  </li>
</ul>

在视图中,我想添加两个输入字段,用于按价格搜索产品。

<input type="number" ng-model="from_price" /> 
<input type="number" ng-model="to_price" /> 

任何人都可以指导我,我可以以适当的方式发展。我已经搜索过它但是找不到教程,我不是angularjs的专业知识。谢谢......

2 个答案:

答案 0 :(得分:2)

这是一个关于你一直要求的plunkr的例子。我添加了一个产品名称,以便区分它们,尝试一下。

https://plnkr.co/edit/NKos4x9eeB5dZQaypurg?p=preview

app.filter('sizeFilter', [function() {
    return function(values, config) {
      if (config.enabled) {
        var filterResult = [];
        angular.forEach(values, function(value) {
          if (value.product_price >= config.from_price && value.product_price <= config.to_price) {
            filterResult.push(value);
          };
        });
        return filterResult;
      }
      return values;
    }
}]);

答案 1 :(得分:0)

在HTML中

dd($request->all());

在JavaScript中

 <li ng-repeat="product in products |rangePrice:
{'toPrice':to_price,'fromPrice':from_price}">