Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 过滤角度中的独立变量_Javascript_Angularjs - Fatal编程技术网

Javascript 过滤角度中的独立变量

Javascript 过滤角度中的独立变量,javascript,angularjs,Javascript,Angularjs,我有一些代码如下所示: <input ng-model="search" type="text"> <td ng-repeat="key in targets"> {{ display_names[key] }} </td> {{display_names[key]} 不能在html中使用筛选器|,因为在迭代的数组中没有要筛选的值。相反,您可以使用ng if根据搜索显示/隐藏元素。比如: <div ng-repeat="key in t

我有一些代码如下所示:

<input ng-model="search" type="text">

<td ng-repeat="key in targets">
    {{ display_names[key] }}
</td>

  • {{display_names[key]}

不能在html中使用筛选器
|
,因为在迭代的数组中没有要筛选的值。相反,您可以使用
ng if
根据搜索显示/隐藏元素。比如:

<div ng-repeat="key in targets" ng-if="!search || !!display_names[key].match(search)">
  {{ display_names[key] }}
</div>

使用它就像
输入目标| displayNames:display_names:search

你所说的
是什么意思?只能迭代角度范围variables@charlietfl不。这并不意味着是一个全局的:p,fixed
ng if=“display_names[key].indexOf(search)>-1”
=>
ng if=“key.indexOf(search)>-1”
但是OP想要过滤值,而不是keys。无论如何,有没有不区分大小写的方法?据我所知,他想要过滤,即“USA”。由于他获得了targets中的所有密钥,他希望访问
显示名称[key]
=>“美国”、“墨西哥”等。。据我所知,他不想按“id_01”过滤@维汉:你能澄清一下吗?在使用
indexOf
display_names[key].toLowerCase().indexOf(search) > -1
<div ng-repeat="key in targets" ng-if="!search || !!display_names[key].match(search)">
  {{ display_names[key] }}
</div>
.filter('displayNames' function () {
  return function (key, names, search) {
    return !search || !!names[key].match(search);
  };
});