我在我的页面上使用AjgularJS,并希望添加一个字段来使用jqueryui中的自动完成功能,但自动完成功能不会触发ajax调用。
我已经在没有angular (ng-app和ng-controller)的页面上测试了这个脚本,它工作得很好,但是当我把脚本放在一个有angularjs的页面上时,它就停止工作了。
有什么想法吗?
jquery脚本:
$(function () {
$('#txtProduct').autocomplete({
source: function (request, response) {
alert(request.term);
},
minLength: 3,
select: function (event, ui) {
}
});
});
结论:来自jQueryUI的autocomplete小部件必须从AngularJS的自定义指令内部进行初始化,如下所示:
标记
<div ng-app="TestApp">
<h2>index</h2>
<div ng-controller="TestCtrl">
<input type="text" auto-complete>ddd</input>
</div>
</div>
Angular script
<script type="text/javascript">
var app = angular.module('TestApp', []);
function TestCtrl($scope) { }
app.directive('autoComplete', function () {
return function postLink(scope, iElement, iAttrs) {
$(function () {
$(iElement).autocomplete({
source: function (req, resp) {
alert(req.term);
}
});
});
}
});
</script>
https://stackoverflow.com/questions/12959516
复制相似问题