Javascript 剑道自动完成与服务器过滤在角度,如何?
我遵循了这个示例,它描述了在AngularJS中使用剑道自动完成的基本操作 问题是该示例仅适用于本地定义的数据 有人能举个例子说明如何使用远程JSON数据源吗 链接是:Javascript 剑道自动完成与服务器过滤在角度,如何?,javascript,jquery,angularjs,autocomplete,Javascript,Jquery,Angularjs,Autocomplete,我遵循了这个示例,它描述了在AngularJS中使用剑道自动完成的基本操作 问题是该示例仅适用于本地定义的数据 有人能举个例子说明如何使用远程JSON数据源吗 链接是: 谢谢你的建议。只需使用$http,如下所示: angular.module("KendoDemos", [ "kendo.directives" ]); function MyCtrl($scope, $http){ $http.get('/remoteDataSource'). success(function(d
谢谢你的建议。只需使用$http,如下所示:
angular.module("KendoDemos", [ "kendo.directives" ]);
function MyCtrl($scope, $http){
$http.get('/remoteDataSource').
success(function(data) {
$scope.countryNames = data;
});
}
如果数据在键入时发生变化,您还可以使用$watch:
angular.module("KendoDemos", [ "kendo.directives" ]);
function MyCtrl($scope, $http){
$scope.$watch('textboxValue', function(){
$http.get('/remoteDataSource/' + $scope.textboxValue).
success(function(data) {
$scope.countryNames = data;
});
}
});
在html中只需使用
<input kendo-auto-complete
k-data-text-field="'ProductName'"
k-data-value-field="'ProductID'"
k-data-source="productsDataSource" />
但是$scope.countryNames应该在用户输入的每个字符之后刷新。我不明白为什么上面的代码不是这样。因为在远程搜索中应用了过滤器,通过输入的给定字符串值进行搜索。
angular.module("KendoDemos", [ "kendo.directives" ])
.controller("MyCtrl", function($scope){
$scope.productsDataSource = {
type: "JSON",
serverFiltering: true,
transport: {
read: {
url: "http://demos.telerik.com/kendo-ui/service/Northwind.svc/Products",
}
}
};
})