使用http响应自动完成使用

时间:2017-02-08 15:25:38

标签: jquery angularjs http jquery-ui-autocomplete

我需要在MVC应用程序中创建自动完成输入以通过$ 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
       });
    }
 }

1 个答案:

答案 0 :(得分:0)

您可以使用minLength:3

更改minLength:1