私の問題は、jquery オートコンプリート ライブラリを同じページで 2 回使用することになっていることです。
最初のテキスト フィールドを静的に挿入すると、オートコンプリートが正常に機能します。しかし、2 番目のテキスト フィールドを挿入したい場合、オートコンプリートの結果は最初のテキスト フィールドの場所に表示されます。
両方のテキスト フィールドの名前と ID は異なりますが、テキスト フィールド 2 に文字を入力すると、オートコンプリートの結果がテキスト フィールド 1 の下に表示されます。オートコンプリート機能の何が問題になっていますか?
var aramaKeyword = jQuery.trim($("#input_header_scroll_ara_keyword").val());
$('#input_header_scroll_ara_keyword').val(aramaKeyword);
$(function() {
$("#input_header_scroll_ara_keyword").autocomplete({
source: function(request, response) {
$.ajax({
url: baseUrl + "<?php echo URL_ARAMA_AUTOCOMPLETE; ?>",
dataType: "json",
async: false,
data: {
q: jQuery.trim($("#input_header_scroll_ara_keyword").val())
},
success: function(data) {
response( $.map( data, function( item ) {
return {
label: item,
value: item
}
}));
}
});
},
select: function(event, ui) {
var keyword = ui.item.value;
locateAraQuery('<?php echo URL_ARAMA; ?>', '<?php echo DEFAULT_STR_ARAMAQUERY_KEYWORD; ?>', '<?php echo lang('title_aradefaultkeyword'); ?>', keyword, '<?php echo ARAMA_SUFFIEX_BAR; ?>');
},
focus: function(event, ui) {
var keyword = ui.item.value;
$("#input_header_scroll_ara_keyword").val(keyword);
},
minLength: 2,
});
});