ng-angular repeat filter等于且不等于

时间:2016-01-28 15:04:12

标签: javascript mysql angularjs

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

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

免费考试时空行包含&#34; ex_slot&#34;在现场studentId。我想用radiobuttons过滤这个表。 在此表的顶部,我使用单选按钮来过滤此表。

<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>

我似乎无法让过滤器工作。 一个单选按钮应该过滤&#34;等于ex_slot&#34; 另一个按钮应该过滤&#34;不等于ex_slot&#34;。 这是否可以使用ng-repeat中的角度滤波器选项?

1 个答案:

答案 0 :(得分:0)

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

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

<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”的财产电话。一个特殊的财产   可以使用name $(如{$:“text”})来接受任何匹配   对象的属性或其嵌套对象属性。那是   相当于简单的子串与所描述的字符串匹配   以上。 谓词可以通过在字符串前加上!来取消。   例如{name:“!M”}谓词将返回一个项目数组   财产名称不包含“M”。

Documentation here