Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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 如何在angularjs中基于ID过滤结果?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在angularjs中基于ID过滤结果?

Javascript 如何在angularjs中基于ID过滤结果?,javascript,angularjs,Javascript,Angularjs,我想使用angularjs过滤器根据ID进行搜索。我根据节点的ID生成一些值,比如根据userId,我从存储JSON对象中查找用户的姓名、电话号码。 但若我只有ID和它的JSON对象,我无法找到如何过滤结果。 为了弄清楚我的问题,我做了些准备 HTML 如何使用angularjs中节点的ID对表进行筛选?如上所述,angular确实读取了searchTableQuery,但无法将其识别为好友对象列表的属性,因此它可以对其进行筛选,或者更清楚地说,他现在不知道好友对象的哪个属性必须将其耦合。 &l

我想使用angularjs过滤器根据ID进行搜索。我根据节点的ID生成一些值,比如根据userId,我从存储JSON对象中查找用户的姓名、电话号码。 但若我只有ID和它的JSON对象,我无法找到如何过滤结果。 为了弄清楚我的问题,我做了些准备 HTML


如何使用angularjs中节点的ID对表进行筛选?

如上所述,angular确实读取了searchTableQuery,但无法将其识别为好友对象列表的属性,因此它可以对其进行筛选,或者更清楚地说,他现在不知道好友对象的哪个属性必须将其耦合。
<div ng-app ng-controller="Ctrl">
Search: <input ng-model="searchTableQuery">
<table id="searchTextResults" class="table table-bordered">
  <tr><th>Name</th></tr>
  <tr ng-repeat="friend in friends | filter:{id:searchTableQuery}">
    <td>{{getCurrentValue(friend.id, friends)}}</td>
  </tr>
</table>
</div>

要解决此问题,必须通过执行以下操作强制将searchTableQuery识别为id:filter:{id:searchTableQuery}。

filter:{id:searchTableQuery}不起作用。数据显示不正确:我刚刚注意到您的hg中确实有{{getCurrentValuefriend.id,friends}}}?为什么不直接打电话给friend.id?尝试执行{{friend.id}并将筛选器保留为filter:searchTableQuery。。。我记得在完全相同的情况下工作过,做这件事没有任何困难。请试一试,让我们知道。不,这不是我的要求。我需要根据localstorage对象的id获取数据,然后在表上显示该数据。筛选器:{id:searchTableQuery}不起作用。数据未正确显示:
function Ctrl($scope) {
    $scope.friends = [{id: 1, name:'John', phone:'555-1276'},
                         {id: 2, name:'Mary', phone:'800-BIG-MARY'},
                         {id: 3, name:'Mike', phone:'555-4321'},
                         {id: 4, name:'Adam', phone:'555-5678'},
                         {id: 5, name:'Julie', phone:'555-8765'},
                         {id: 6, name:'Juliette', phone:'555-5678'}];
    $scope.getCurrentValue = function (id, availableData) {
        var result = _.where(availableData, { 'id': id });
        if (_.isEmpty(result)) {
            result = [{id:0,value:""}];
        };
        return result[0].name;
    }
}
<div ng-app ng-controller="Ctrl">
Search: <input ng-model="searchTableQuery">
<table id="searchTextResults" class="table table-bordered">
  <tr><th>Name</th></tr>
  <tr ng-repeat="friend in friends | filter:{id:searchTableQuery}">
    <td>{{getCurrentValue(friend.id, friends)}}</td>
  </tr>
</table>
</div>