私のページでAjgularJSを使用していますが、jqueryuiからオートコンプリートを使用するフィールドを追加したいのですが、オートコンプリートはajax呼び出しを起動しません。jQueryオートコンプリート+ AngularJSの問題
私はアンギュラ(ng-appとng-controller)のないページでスクリプトをテストしましたが、正常に動作しますが、anglejsを持つページにスクリプトを置くと動作しなくなります。
jqueryのスクリプト:
$(function() {
$('#txtProduct').autocomplete({
source: function (request, response) {
alert(request.term);
},
minLength: 3,
select: function (event, ui) {
}
});
});
- 興味深い注:私はクロームインスペクタでスクリプトを呼び出すときに、オートコンプリートが動作を開始!!!
- バージョン: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>
角度スクリプト
<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>
あなたは$(ドキュメント).ready()はそれらをロードしてみてください。また、Firebugコンソールのエラーをチェックしてください。 –
合意 - AngularJSとJQueryの競合をチェックする必要があります。簡単なテストでは何も表示されません。http:// jsfiddle。net/mccannf/w69Wt/ – mccannf
あなたが見ている問題とは関係ないかもしれませんが、私はあなたがカスタムディレクティブ(リンク関数)の中でjqueryを使うべきだと思います。 – Tosh