当前位置: 首页 > 面试题库 >

AngularJS复选框过滤器

左宁
2023-03-14
问题内容

我想过滤结果。

有一个葡萄酒清单,我的愿望是当未选中任何复选框时,将显示整个葡萄酒清单。

  • 当仅选中1个复选框时,显示相关类别
  • 当选中多个复选框时,将显示相关类别

我是AngularJS的新手,我尝试了ng-model都没有成功,这是没有与函数关联的ng-model的代码:

<html ng-app="exampleApp">
<head>
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.10/angular.min.js"></script>

    <script>
        angular.module("exampleApp", [])
                .controller("defaultCtrl", function ($scope) {
                    $scope.wines = [
                        { name: "Wine A", category: "red" },
                        { name: "Wine B", category: "red" },
                        { name: "wine C", category: "white" },
                        { name: "Wine D", category: "red" },
                        { name: "Wine E", category: "red" },
                        { name: "wine F", category: "white" },
                        { name: "wine G", category: "champagne"},
                        { name: "wine H", category: "champagne" }

                    ];


                    $scope.selectItems = function (item) {
                        return item.category == "red";
                    };

                    $scope.selectItems = function (item) {
                        return item.category == "white";
                    };

                    $scope.selectItems = function (item) {
                        return item.category == "champagne";
                    };
                });
    </script>
</head>
<body ng-controller="defaultCtrl">

<h4>red: <input type="checkbox"></h4>
<h4>white: <input type="checkbox"></h4>
<h4>champagne: <input type="checkbox"></h4>



            <div ng-repeat="w in wines | filter:selectItems">
                {{w.name}}
                {{w.category}}
            </div>


</body>
</html>

如何使用ng-model或ng-change将功能与每个复选框按钮相关联以具有实时过滤模型?


问题答案:

只是添加到@gkalpak答案中,我发现了这个Codepen,它使您可以提供为每个类别选择一个选项后剩余的总金额。

更改ng-repeat自:

<div ng-repeat="wine in (ctrl.wines | filter:ctrl.filterByProperties) as filteredWines">
      {{ wine.name }} <i>({{ wine.category }})</i>
</div>

<div ng-repeat="wine in filtered = (ctrl.wines | filter:ctrl.filterByProperties) as filteredWines">
  {{ wine.name }} <i>({{ wine.category }})</i>
</div>

并使用输入标签添加:

<label>
    <input type="checkbox" ng-model="ctrl.filter[prop][value]" />
    {{ value }}({{(filtered | filter:value:true).length}})
</label>


 类似资料:
  • 问题内容: 第一次在这里发布问题,如果违反任何Stack Overflow礼节,请提前道歉!:-) 我第一次去一些AngularJS,以便为我的老板创建概念证明。这是一个基本的租车列表应用程序,主列中有结果列表,侧面有一个过滤器面板。我设法从JSON对象中提取结果,并应用一个基本的过滤器,如下所示; 筛选器 …我还无法解决的一件事是如何添加一组复选框以应用过滤器,例如“汽车类型”,其中包含“迷你”

  • 问题内容: 我有以下代码,通过检查球员的裤子大小复选框,尝试对阵列中的球员进行过滤。 我知道我在转发器中有数据数组,然后在数据数组元素(两个不同的div)之外的元素中过滤输入,这可能是导致断开连接的原因吗?因为当我将复选框添加到Repeater元素时我注意到,所以当我单击复选框时,确实会得到某种形式的反馈数组。 绑定搜索输入框非常容易实现,但是我花了太多时间获取这个简单的复选框来过滤数据。 因此,

  • 问题内容: 如何使用Checkbox过滤angularJS中的多个值(或操作) http://jsfiddle.net/samibel/va2bE/1/ 问题答案: 使用过滤器功能: 视图: 控制器:

  • 主要内容:AngularJS 过滤器,表达式中添加过滤器,AngularJS 实例,AngularJS 实例,currency 过滤器,AngularJS 实例,向指令添加过滤器,AngularJS 实例,过滤输入,AngularJS 实例,自定义过滤器,AngularJS 实例过滤器可以使用一个管道字符(|)添加到表达式和指令中。 AngularJS 过滤器 AngularJS 过滤器可用于转换数据: 过滤器 描述 currency 格式化数字为货币格式。 filter 从数组项中选择一个子集

  • 问题内容: 我有一个复选框列表,其中至少一个是强制性的。我试图通过AngularJS验证来实现这一点,但是很难。下面是我的代码: 以下是plunker中的代码:http ://plnkr.co/edit/Bz9yhSoPYUNzFDpfASwt?p=preview 有没有人在AngularJS上做到这一点?使复选框成为必需,迫使我选择所有复选框值。AngularJS文档中也未记录此问题。 问题答案

  • 问题内容: 我想要的是类似于文档中的此示例的示例,但是具有唯一的输入,可以通过“ any”,“ name”或“ phone”属性来扮演过滤的三个角色,角色的更改是通过单击锚点完成的。这是准备好的代码http://jsfiddle.net/ubugnu/QuyCU/如何动态更新ng- model属性? 的HTML JS 问题答案: 您可以定义如下:动态更改应绑定到哪个变量(另一个变量在哪里)。 参见