Я вызываю функцию по ng-keyup для поиска в базе данных и после получения результата я показываю результат в DIV ..?

0

но когда входной поиск пуст, то также он показывает результат, но я не хочу, чтобы результат показывался, когда Input Search is Empty здесь - мои услуги: -

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>

Пожалуйста, помогите мне. Как это сделать. Я добавил Screen Shot также для UnderStanding. Я получаю результат, даже панель поиска пуста

1 ответ

0

Я получил ответ на вышеупомянутый вопрос, просто просто проверьте, что поле ввода пуст или нет соответственно. SHOW и HIDE your DIV. Я поставил условие в моем контроллере, как эта внутренняя функция после этой строки

$scope.searchUser = function(){

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

идентификатор dataFetchedFromServer предоставляется этому DIV

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню