Jqueryに自動選択付きのテキストフィールドがあります.3文字を入力すると、データベースからクエリを取得してデータを表示します。 _renderItemメソッドからidプロパティを取得する必要がありますが、正しく取得できません。以下は、私が持っているコードです:自動補完で項目が正しく選択されていません
$("#textField").autocomplete({
minLength: 3,
source: function(request, response) {
var loadIdentities = "<?php echo $this->Html->url(array('controller' => 'Identities', 'action' => 'getIdentity')); ?>/" + Base64.encode(request.term);
$.getJSON(loadIdentities, function(data) {
response(data);
});
}
}).data("ui-autocomplete")._renderItem = function(ul, item) {
console.log(item.id);
return $("<li>")
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
私は正しい値を得ていません。これは、オートコンプリートリストの要素をマウスでクリックして選択すると、item.idが正しく更新されず、正しいitem.idが入力されたときに表示されている値が表示されますオートコンプリートのために。
たとえば、テキストフィールドに「John Smith」という名前を入力すると、オートコンプリートの2つのオプション、John SmithとJohn Smithsonが表示されます。 「John Smithson」オプションをクリックして選択すると、item.idの値が「John Smith」になり、IDが「John Smithson」になります。
この問題を解決するにはどうすればよいですか?