#javascript #html #angularjs
#javascript #HTML #angularjs
Вопрос:
на моей странице есть текстовое поле, в котором пользователи вводят имя пользователя, которое они хотят найти, и после нажатия кнопки отправки. чего я хочу добиться, так это того, что когда пользователь нажимает кнопку отправки, результаты должны быть немедленно отправлены на страницу. В моем скрипте отображается только один результат, хотя их может быть 10 или более
JS
.controller('search_ctrl',['$scope','$http','$location','$ionicLoading','$ionicPopup','$state','$stateParams','$cordovaToast',function($scope,$http,$location,$ionicLoading,$ionicPopup,$state,$stateParams,$cordovaToast){
$scope.username=localStorage.getItem("username");
$scope.searchresults = [];
$scope.expendsearch=function() {
$ionicLoading.show({template: '<p>Please Wait...</p><ion-spinner></ion-spinner>'});
event.preventDefault();
$http.post("http://localhost/app/templates/spree/sales/expenses/search_results.php",
{'username':$scope.username})
.success(function(data){
//console.log(JSON.stringify(data));
$scope.results=data;
{$ionicLoading.hide();}
var search ={"fullname":data[0].reciever, "username":data[0].amount};
$scope.searchresults.push(search);
}).error(function(error){
console.error(error);
});
}
}])
HTML
<div ng-controller="search_ctrl" ng-repeat="item in searchresults track by $index">
{{item.username}}
{{item.fullname}}
</div>
Когда я меняю свой скрипт на этот:
.controller('search_ctrl',['$scope','$http','$location','$ionicLoading','$ionicPopup','$state','$stateParams','$cordovaToast',function($scope,$http,$location,$ionicLoading,$ionicPopup,$state,$stateParams,$cordovaToast){
$scope.username=localStorage.getItem("username");
$scope.searchresults = [];
$scope.expendsearch=function() {
$ionicLoading.show({template: '<p>Please Wait...</p><ion-spinner></ion-spinner>'});
event.preventDefault();
$http.post("http://localhost/app/templates/spree/sales/expenses/search_results.php",
{'username':$scope.username})
.success(function(data){
//console.log(JSON.stringify(data));
$scope.results=data;
{$ionicLoading.hide();}
var search ={"fullname":data.reciever, "username":data.amount};
$scope.searchresults.push(search);
}).error(function(error){
console.error(error);
});
}
}])
На странице ничего не отображается
Комментарии:
1. что вы получаете
data
?2. я получаю вложенные результаты получателя и суммы. более одного результата
3. Я должен это знать. Но не могли бы вы куда-нибудь вставить его и показать, что именно вы получаете?
Ответ №1:
Если первый скрипт отображает один результат, я предполагаю, что ваши данные поступают в формате
[{reciever:'aaa',amount:'bbb'},{reciever:'ccc',amount:'ddd'} ....]
итак, вы можете сделать $scope.searchResults = data;
и в html выполните
<div ng-controller="search_ctrl" ng-repeat="item in searchresults track by $index">
{{item.reciever}}
{{item.amount}}
</div>
Комментарии:
1. существует несколько данных
2. вам действительно нужно показать мне структуру данных, прежде чем я смогу ответить на этот вопрос