すでに多くのオートコンプリートを作成しましたが、問題は発生していません。今回は、既存のページにオートコンプリートを挿入しようとしました (非常に複雑で、多くの JavaScript 呼び出しがあります)。
私のコードはそのように単純です:
$('#named_invitees_0_user_id').autocomplete({
source: 'www.bidon.com'
});
私がしようとしました :
- $(document).ready() 関数内でこの JavaScript を充電します。
- ページの読み込み時にこの JavaScript を充電せず、Firebug コンソールで前のコードを実行します
- オートコンプリートにいくつかのパラメーターを追加します (minLength、disabled、delay、beforeSend、...)
- ソースに配列を設定する
この 2 つのケースでは、オートコンプリート固有の属性の一部を使用するため、入力はオートコンプリート機能を「理解」します。
<input id="named_invitees_0_user_id" name="named_invitees[0][user_id]" type="text" value="aaaa" autocomplete="off" class="ac_input">
しかし、入力に何かを書き込んだ場合 (Firebug Network アクティビティに関して)、NO リクエストは送信されません。ページに既に存在する JavaScript の一部がこのクエリの制御を追跡していると思いますが、それが何であるかはわかりません。
あなたも ?
編集:
返信ありがとうございます。私はあなたの提案に従います:
- 配列を「ソース」として設定してみてください: 何も変更しません
- このページのすべての JS を削除します: jQuery-1.4.3 と jQuery-ui-1.8.20 のみが読み込まれました: 何も変更しません
- minLength の値を 1 に変更します: 何も変更しません
- ソース URL が JSON を返すかどうかを確認します: 確認済みです
- ソース URL が私の Web サイトの名前空間にあるかどうかを確認してください: 確認済みです
編集2:
問題が見つかりました!
どこかに隠された JS コードがありました...古い「オートコンプリート」jquery インクルード。結果: 2 つのオートコンプリートが定義されました。この隠しコードを削除すると、すべて正常に動作します!
返信ありがとうございます。