Scriptaculous jsフレームワークのAjax.autocompleter関数を使用してオートコンプリート機能を実装しました。コードは動作していますが、指定した文字と一致するエントリのみを入力する代わりに、リスト全体が表示されます。 これは私のコードです:Ajax.autocompleter関数で全体のリストが作成されています
これは、自動提案されたエントリを取得するためのjs関数です。
new Ajax.Autocompleter("autocomplete", "autocomplete_choices",
"http://localhost/FormBuilder/forms/autoComplete",{});
これは、自動補完ボックスとエントリが入力されるエントリです。
<input type="text" id="autocomplete" name="autocomplete_parameter"/>
<div id="autocomplete_choices" class="autocomplete"></div>
はこれがタイプされた文字に対応するユーザのリストを取得するフォームコントローラ内のオートコンプリートアクションです。
function autoComplete()
{
$this->set('users',$this->User->find('all',array('fields'=>array('User.id','User.name'),
'conditions'=>array('User.name LIKE' => $this->data['User']['name'].'%')
)
)
);
$this->layout = "ajax";
}
しかし、私は文字「p」を入力すると仮定し、私は文字「P」で始まるものを表示するのではなく、全体のユーザーのリストを取得します。なぜこの問題が発生するのですか?どこが間違っていたのですか?