jQuery オートコンプリート ボックスを手動でトリガーする際に問題があります。ソースには $.ajax が付属しており、json を返します。また、「開く」機能で、いくつかのカスタム項目をボックスに追加します。ここで必要なのは、入力をクリックすると、オートコンプリート ボックスが表示されることです。検索する必要はありません。カスタム項目が追加されたボックスを表示するだけです。
minLength: 0 と $(this).autocomplete('search', ''); を試しました。しかし、これらは機能していません。どんな助けでも大歓迎です。
現在のコード:
$(".searchBox").autocomplete({
delay: 300,
open: function() {
$('.ui-autocomplete').prepend('<li class="nav-button ui-menu-close"><a href="#">×</a></li>');
var position = $('.ui-autocomplete').position(),
left = position.left, top = position.right;
$('.ui-autocomplete').css({left: 0,
width: "auto",
'z-index': 1000
});
$('.ui-menu-close').on('click', function() {
$('.searchBox').autocomplete('close');
});
},
source: function(request, response)
{
$.ajax({
url: '/search',
data: {
'ajax' : 1,
'query': request.term
},
timeout: 3000,
dataType: 'json',
success: function(data) {
console.log(data)
},
});
},
minLength: 0
}).focus(function() {
$(this).data('autocomplete')._trigger('open');
$(this).trigger('keydown.autocomplete');
});
ありがとうございました。