我在ng-keyup上调用一个函数来搜索数据库,在得到结果后我在DIV中显示结果..?

时间:2015-11-05 07:46:26

标签: javascript html css angularjs

但是当输入搜索为空时它也显示结果但我不想在输入搜索为空时显示结果 这是我的  服务项目: -

angular.module('a2BClientApp')
       .service('AdminSearchService', ['$q', '$http', '$rootScope', 
         function ($q, $http, $rootScope,$cookies) {
         var baseUrl = window.location.origin;

         this.searchUser = function(authToken, data){
         var deferred = $q.defer();
        $http.post(baseUrl+'/api/v1/admin/users', 
         {searchString: data},     
         {headers: { 'Authorization': 'Bearer '+ authToken }})
        .success(function (response) {
            deferred.resolve(response);
            $rootScope.user = response;
        })
        .error(function(err){
            deferred.reject(err);
        })

        return deferred.promise;

    }
 }]);

我的控制器是:

.controller('adminSearchCtrl', function ($scope, $rootScope, $location, AdminSearchService, $cookies){
    // $rootScope.user = JSON.parse($cookies.get('AtoB')).user;
    var userToken = JSON.parse($cookies.get('AtoB')).user;
    $scope.searchUser = function(){
        AdminSearchService.searchUser(userToken.token, $scope.userSearchData.searchByUser)
        .then(function(response){
            $scope.resppppp = response.results;
        })
        .catch(function(err){
            $scope.error = err.message;
        });
    }
});

和我在Html文件中显示服务器的详细信息

<div class="col-md-12 col-sm-12 col-xs-12 userSearchBar" ng-hide="showme">
    <div class="search">
        <span class="glyphicon glyphicon-search search_icon"></span>
        <input class="query" placeholder="Search By User" name="searchByUser" ng-model="userSearchData.searchByUser" id="inputSearch" ng-keyup="searchUser()" />
    </div>
    <div ng-show="resppppp.length > 0">
       <ul ng-repeat="rep in resppppp"><li>{{rep.email}}</li></ul>
    </div>
    <div ng-show="resppppp.length == 0">NO Result</div>

</div>

请帮助我如何做到这一点。I have added Screen Shot also for UnderStanding I am getting the result even search bar is empty

1 个答案:

答案 0 :(得分:0)

我得到了上述问题的答案,只需检查输入框是否为空或相应显示并隐藏您的DIV 我已经在我的控制器中将条件放在此行内的函数内

$scope.searchUser = function(){

  if(inputSearch.value==0){
    $("#dataFetchedFromServer").hide();
  }
  else{
    $("#dataFetchedFromServer").show();
  }
}

id dataFetchedFromServer 被赋予此DIV

  <div ng-show="resppppp.length > 0" id="dataFetchedFromServer"></div>