javascript - 搜索和复选框上的 Angular 过滤器

标签 javascript jquery angularjs

我有一个 Angular 应用程序,在其中显示人员列表。我有一个输入,用于根据输入中的字符串过滤列表。

列表中的每个人还有一个status 字符串。我在字符串过滤器旁边添加了一个复选框,但我不确定如何将其应用于我的过滤。

我希望字符串根据名字/姓氏进行过滤,复选框根据状态进行过滤

Full Fiddle code

搜索过滤器的绑定(bind)方式如下:

input type='text' ng-model='filterText'/>
<input type='checkbox'/> <!-- how do I get this to work -->
    <ul>
        <li ng-repeat='person in people | filter:filterText'>
            <span class=''>{{person.firstname}}</span>
            <span class=''>{{person.lastname}}</span> -
            <span class='color-oj'>{{person.status}}</span>

        </li>
    </ul>

$scope.people = [
        {firstname: 'abdul', lastname: 'ahmad', status: 'active'},
        {firstname: 'mahmud', lastname: 'samrai', status: 'active'},
        {firstname: 'gasser', lastname: 'badawi', status: 'inactive'},
        {firstname: 'ibtihaj', lastname: 'jasim', status: 'active'},
        {firstname: 'abudi', lastname: 'ahmad', status: 'inactive'},
        {firstname: 'ahmad', lastname: 'jasim', status: 'active'},
        {firstname: 'abdul', lastname: 'samrai', status: 'inactive'}
    ];

最佳答案

此代码基于您的 fiddle ,与您在此处发布的代码略有不同。

首先,给你一个复选框模型:

<input type='checkbox' ng-model='active'/>

其次,稍微改变一下你的过滤器:

<li ng-repeat='person in people | filter:filterText | filter:{isActive:active} '>

最初active未定义,因此所有人员都会显示。一旦您选中active复选框,就会有一个值并进行相应的过滤。

Demo Fiddle

关于javascript - 搜索和复选框上的 Angular 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30814793/

相关文章:

javascript - 单击事件未在 div 元素上注册 (jQuery/HTML/CSS)

javascript - 动态生成指令字段的指令无法编译

javascript - 将 php 值获取到 javascript 中

javascript - 在 Angular js文件中获取未定义的php值

javascript - node.js 在异步请求中缺少发布数据

jquery - 带滚动条的 Kendo UI 网格的延迟加载

javascript - 防止 iE11 中的默认 'F1' 事件

jquery - 为什么不在 jquery .click 上应用 CSS 属性?

javascript - 在 NVD3 图表上添加引用线

angularjs - 如何创建输出 HTML 的 angularjs 过滤器