2017-02-08 18 views
0

$ http要求でデータを取得するには、MVCアプリケーションでオートコンプリート入力を作成する必要があります。後で3つのタイプの要求が機能している必要があり、結果がユーザーに選択を選択させる必要があります。http応答でオートコンプリートを使用する

私はJqueryUIを自動完成しました。キーを押している間だけ結果を入力しています。 3つの後者の入力の直後にポップアップ結果が必要です(結果がhttpリクエストによって返されるとすぐに)。 minLengthで1:ここ

が私の現在のコード

<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を変更することができている3

+0

いや、リストからフィルタデータの入力にする必要がありますどのように多くの文字に関してれます。それは最初からOKの値をフィルタリングしています。私の質問は、なぜユーザーの行動を取らずにデータを移入しないかということです。 – RiksonTool

関連する問題