【问题标题】:ng-angular repeat filter equal and not equal tong-angular重复过滤器等于和不等于
【发布时间】:2016-05-06 00:47:18
【问题描述】:

我使用 ng-repeat 来制作所有 axam 插槽的表格,如下所示:

<tr ng-repeat="id in exams | orderBy:sortType:sortReverse | filter:{licencetype:searchExam, studentId:assignfilter}">

免费考试槽行在字段 studentId 中包含“ex_slot”。我想使用单选按钮过滤此表。 在这个表的顶部,我使用单选按钮来过滤这个表。

<label>
<input type="radio" ng-model="assignfilter" value="ex_slot">
<?php echo $lang['LBL_NOT_ASSIGNED']; ?>
</label>
<label>
    <input type="radio" ng-model="assignfilter" value="">
    <?php echo $lang['LBL_ASSIGNED']; ?>
</label>

我似乎无法让过滤器工作。 一个单选按钮应过滤“等于 ex_slot” 另一个按钮应该过滤“不等于 ex_slot”。 这可以通过 ng-repeat 中的角度过滤器选项实现吗?

【问题讨论】:

  • 您是否尝试在控制器中为“分配过滤器”分配一些值(如“”)?您还可以为两个单选按钮设置名称。
  • 显然它很简单:    
  • 我看到你问了很多问题,但没有将其中一个标记为正确。请在您的问题中标记正确的答案。我会帮助其他用户了解 Stackoverflow 的工作原理。

标签: javascript mysql angularjs


【解决方案1】:

您还没有说其中的任何部分是否有效。从您显示的代码看来,显示空闲插槽的过滤器应该可以正常工作。这是真的吗?

如果是这样,以下更改应该有效

<label>
<input type="radio" ng-model="assignfilter" value="ex_slot">
<?php echo $lang['LBL_NOT_ASSIGNED']; ?>
</label>
<label>
    <input type="radio" ng-model="assignfilter" value="!ex_slot">
    <?php echo $lang['LBL_ASSIGNED']; ?>
</label>

应该可以。根据 angular.filter 文档:

对象:模式对象可用于过滤特定属性 数组包含的对象。例如 {name:"M", phone:"1"} 谓词将返回具有属性名称的项目数组 包含“M”和包含“1”的属性电话。特殊属性 名称 $ 可用于(如在 {$:"text"} 中)接受与任何 对象的属性或其嵌套的对象属性。那是 相当于与描述的字符串的简单子字符串匹配 更多。 可以通过在字符串前面加上! 来否定谓词。 例如 {name: "!M"} 谓词将返回一个项目数组 属性名称不包含“M”。

Documentation here

【讨论】:

    猜你喜欢
    • 2015-12-20
    • 2014-05-05
    • 2015-01-12
    • 2016-01-21
    • 1970-01-01
    • 2016-04-17
    • 2022-01-23
    • 2012-03-21
    相关资源
    最近更新 更多