【发布时间】:2015-04-19 19:09:41
【问题描述】:
我正在使用 Angular 尝试在 JSON 数据中搜索用户输入的特定名称。我将输入的数据传递给 clickButton 函数,使用 angular.forEach 进行迭代并将键/值推送到结果中。示例:在表单中输入 Sam,单击搜索,它会找到所有 Sam JSON 数据。 小提琴a link!
angular.module('myApp').controller('myController',
['$scope', '$http', function($scope, $http) {
$scope.stuff = {
"People": {
"Sam":[
{"Name":"Sam", "Address":"Street","Phone":"111", "status":"Available"}],
"Tom": [
{"Name":"Tom", "Address":"Road", "Phone":"222", "status":"Busy"}
]};
};
$scope.results = [];
$scope.clickButton = function(enteredValue) {
$scope.items = $scope.stuff.People;
$scope.text='You searched for:';
angular.forEach($scope.items, function(value, key) {
if (key === enteredValue) {
$scope.results.push
({name: key, address: value[0].Address, phone: value[0].Phone });
}
});
};
【问题讨论】:
-
那么问题出在哪里?你只是想显示数据吗?过滤一个 ng-repeat 会更好。也更容易。
-
刚刚添加了 Fiddle 尝试输入 Sam 并在表格中显示所有相同的结果。清除。然后输入 Tom 以在表格中显示 Tom 的数据。 jsfiddle.net/al321/s4cLbL19/1 页面加载时表格为空
-
首先你有一个拼写错误。检查您的控制台。
-
你还实例化了控制器两次。
-
修正错字jsfiddle.net/s4cLbL19/6后一切似乎都很好
标签: javascript json angularjs angularjs-scope angularjs-ng-model