1
我有从JSON数据源,它看起来像这样显示的电影的列表的应用程序:麻烦过滤表数据
{
Rank: 1,
Duration: "155 min",
Description: "When a Roman general is betrayed and his family murdered by an emperor's corrupt son, he comes to Rome as a gladiator to seek revenge.",
Director: "Ridley Scott",
Genres: [
"Action",
"Drama"
],
Actors: [
"Russell Crowe",
"Joaquin Phoenix",
"Connie Nielsen",
"Oliver Reed",
"Richard Harris",
"Derek Jacobi",
"Djimon Hounsou",
"David Schofield",
"John Shrapnel",
"Tomas Arana",
"Ralf Moeller",
"Spencer Treat Clark",
"David Hemmings",
"Tommy Flanagan",
"Sven-Ole Thorsen"
],
Id: 318,
Name: "Gladiator"
}
该控制器设置是这样的:
var myMovies = angular.module('movieapp', []);
myMovies.controller('movieController', function($scope, $http){
$http.get("url-to-datasource")
.success(function(response) {
console.log(response);
$scope.results = response;
});
});
和标记为表和文字输入在电影中过滤两个电影的名字和演员:
<div class="form-inline">
<div class="form-group">
<label for="Name">Name</label>
<input type="text" class="form-control" id="name" placeholder="Title">
</div>
<div class="form-group">
<label for="Actor">Actors</label>
<input type="text" class="form-control" id="actors" placeholder="Actors">
</div>
</div>
<table class="table-striped">
<thead>
<td width="15%">Name</td>
<td width="30%">Actors</td>
<td width="10%"></td>
</thead>
<tr ng-repeat="movies in results | filter: name || actors">
<td>{{movies.Name}}</td>
<td>{{movies.Actors}}</td>
<td>{{movie.Name}} <a class="bookMovie" href="http://www.fandango.com/{{movies.Name}}">Book Now!</a></td>
</tr>
</table>
不知道如何连接过滤器功能,以便我可以键入名称,并按名称输入过滤或输入演员姓名,并在名称中显示具有该演员的所有电影。
我目前可以看到电影的名字和演员,不过,演员与他们的阵列括号显示其需要显示没有他们:
此当两个对象是相同的数据的工作,但没有显示当我在完全数据有效载荷装载:https://plnkr.co/edit/JEvBFtMFbPK0jcgzhiZb?p=preview – user3438917
有是你的JSON的问题,它应该包含关键和值。你的钥匙没有“”https://plnkr.co/edit/6gb3OJZ5M6F8i6dr2HFf?p=preview – Sajeetharan
下面是带格式化json的plunk:https://plnkr.co/edit/fvwQfZVYM0PIWZzPGoOp?p = preview。你在哪里看到缺失的值?当用户在名称字段中输入电影时,电影名称应该过滤,并且当他们输入演员姓名时,电影应该只过滤到其中具有该演员的电影。 – user3438917