我需要在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
});
}
}
答案 0 :(得分:0)
您可以使用minLength:3
更改minLength:1