javascript - Angular JS过滤器: Why does this remove other LIKE options?

标签 javascript angularjs

我有这个 Angular 滤镜;

ng-options="option.name as option.name for option in options |
filter: newForm.select2 && {name: '!' + newForm.select2} | 
filter: newForm.select3 && {name: '!' + newForm.select3}

笨蛋here .

基本上,如果在其他选择中选择了选项,它就会从 ng-options 中删除选项。我遇到的问题是它实际上也会删除与所选选项类似的选项。因此,选择“1”将从其他选项中删除“1”和“11”。

如何使其明确,以便仅删除完全匹配的内容?

谢谢!

编辑:我尝试将 : true 添加到过滤器中,如 docs 中所述。也没有运气......

最佳答案

切换到使用 ID 而不是名称。例如,请参阅此 fork of your plnkr .

<select ng-model="newForm.select2" 
        ng-options="option.id as option.name for option in options | filter: newForm.select1 && {id: '!' + newForm.select1} | filter: newForm.select3 && {id: '!' + newForm.select3}" 
        class="form-control">

关于javascript - Angular JS过滤器: Why does this remove other LIKE options?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36485905/

相关文章:

javascript - 找不到模块 'chart.js'。)Angular 2

javascript - 从字符串中删除多余的零

javascript - 使用 Javascript 将文件内容写入 HTML 页面

javascript - 从 ajax 中查找 <li> 中的值

AngularJS 使用指令编译 html 并以字符串形式输出?

javascript - 在 ng-repeat Angularjs 中重复选择选项

javascript - 在相对路径上开 Jest

javascript - 循环中的 Array.pop() 真的比 Array.length = 快 50 倍吗

javascript - 如何从 C# 或 Javascript 检查文件是否存在?

javascript - Angular UI-Router 认为每个 URL 都不匹配并重定向