オートコンプリート検索ボックスを使用したプロジェクトに取り組んでいます。見つかったオートコンプリートの結果から入力ボックスに値を渡したいという問題がありますが、同時に、入力フィールドがフォーカスされていないときにオートコンプリートボックスを非表示にする必要があります。
オートコンプリートボックスをクリックするとフォーカスアウトと見なされ、値を渡す前でもボックスが非表示になるため、両方で競合が発生しています。この種の問題に対するポインタまたは回避策はありますか? ここでは、より明確にするための jsfiddle を示します。
またはここ
CSS :
#a_c {display:none;}
JS :
$('#search_field').focusout(function() {
$('#a_c').hide(); // IF I DELETE THIS IT WORKS
});
$('#search_field').focusin(function() {
$('#a_c').show();
});
$('#a_c a').click(function() {
$('#search_field').val('');
var value = $(this).text();
var input = $('#search_field');
input.val(input.val() + value);
$('#a_c').hide();
return false;
});
HTML :
<input autocomplete="off" onkeyup="searchFor(this.value);" name="search" id="search_field" class="bold" type="text" placeholder="Search...">
<div id="a_c"><a href="">hello world</a></div>