2017-02-08 4 views
0

Мне нужно создать вход автозаполнения в приложении MVC, чтобы получить данные по запросу $ http. после того, как три более поздних запроса типа должны функционировать, и результаты должны заполнить пользователя, чтобы выбрать их выбор.AutoComplete использовать с ответом http

Я использовал JqueryUI автозаполнение. но это только заполнение результатов при нажатии клавиши. Мне нужны всплывающие результаты сразу после ввода 3 последних (как только результаты приходят по запросу http).

вот мой текущий код

<input id="vendorName" type="text" ng-model="test" ng-keyup="AutoCompleteVendorByName_KeyUpEvent(test)" ng-keydown="VendorFilter()" />  





$scope.AutoCompleteVendorByName_KeyUpEvent = function(nameString) { 
    if (nameString.length == 3) { 
     $http({ 
      url: "/DirectPayment/GetVendorsByPartialName", 
      method: "POST", 
      headers: { 
      "accept": "application/json;odata=verbose", 
      "content-Type": "application/json;odata=verbose" 
      }, 
      data: JSON.stringify({ 
      name: nameString 
      }) 
     }).success(function(data, status, headers, config) { 
      $scope.listVendors = data; 
      $scope.listVendorsName = $scope.listVendors.map(function(el) { 
      return el.name; 
      }); 
      $scope.VendorFilter(); 


     }); 
    } 
} 

$scope.VendorFilter = function() { 
    if ($scope.listVendorsName.length > 0) { 
     $("#vendorName").autocomplete({ 
      source: $scope.listVendorsName, 
      minLength: 1 
     }); 
    } 
} 

ответ

0

Вы можете изменить MINLENGTH: 1 с MINLENGTH: 3

+0

Неа, Это о том, как много символов должно быть на входе для фильтров данных из списка. это нормально фильтровать значение с самого начала. Мой вопрос заключается в том, почему данные, которые не заполняются, не распространяются без каких-либо действий пользователя. – RiksonTool

Смежные вопросы