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