【问题标题】:Dynamic checkbox filter angular js manipulate the filtered items动态复选框过滤器角度js操作过滤后的项目
【发布时间】:2019-04-03 22:05:34
【问题描述】:

如何操作过滤的项目?

例如,如果我选择Red。 它应该显示如下

Value:10(5+5) Apple,Strawberry

下面是我的代码,所以请在这里提出一些解决方案。

'use strict'

angular.module('fruit', []);

function FruitCtrl($scope) {
    $scope.fruit = [
        {'name': 'Apple', 'colour': 'Red','value':5},
         {'name': 'Strawberry', 'colour': 'Red','value':5},
        {'name': 'Orange', 'colour': 'Orange','value':5},
        {'name': 'Orange1', 'colour': 'Orange','value':5},
        {'name': 'Banana', 'colour': 'Yellow','value':5},
          {'name': 'Banana1', 'colour': 'Yellow','value':5}];
    
    $scope.colourIncludes = [];
    
    $scope.includeColour = function(colour) {
        var i = $.inArray(colour, $scope.colourIncludes);
        if (i > -1) {
            $scope.colourIncludes.splice(i, 1);
        } else {
            $scope.colourIncludes.push(colour);
        }
    }
    
    $scope.colourFilter = function(fruit) {
        if ($scope.colourIncludes.length > 0) {
            if ($.inArray(fruit.colour, $scope.colourIncludes) < 0)
                return;
        }
        
        return fruit;
    }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.22/angular.min.js"></script>
<div ng-app="fruit">
    <div ng-controller="FruitCtrl">
        
        <input type="checkbox" ng-click="includeColour('Red')"/> Red</br/>
        <input type="checkbox" ng-click="includeColour('Orange')"/> Orange</br/>
        <input type="checkbox" ng-click="includeColour('Yellow')"/> Yellow</br/>
        
        <ul>
            <li ng-repeat="f in fruit | filter:colourFilter">
                {{f.name}}
            </li>
        </ul>

        Filter dump: {{colourIncludes}}
    </div>
</div>

提前致谢

【问题讨论】:

    标签: angularjs checkbox filter


    【解决方案1】:

    在您的控制器中创建一个函数,您可以在其中使用复选框的状态计算所选产品的总价值并将其绑定到您的 html。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      • 1970-01-01
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多