Я использую AjgularJS на своей странице и хочу добавить поле для использования автозаполнения из jqueryui, и автозаполнение не вызывает вызов ajax.
Я протестировал script на странице без angular (ng-app и ng-controller), и он работает хорошо, но когда я помещаю script на страницу с угловыми функциями, она перестает работать.
любая идея?
jquery script:
$(function () {
$('#txtProduct').autocomplete({
source: function (request, response) {
alert(request.term);
},
minLength: 3,
select: function (event, ui) {
}
});
});
- Интересное примечание: когда я вызываю script в инспекторе Chrome, автозаполнение начинает работать!!!
- Версии: AngularJS: 1.0.2 - JqueryUI: 1.9.0
ВЫВОД: Виджет автозаполнения из jQueryUI должен быть инициализирован изнутри пользовательской директивы 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>