Mic*_*ael 4 php jquery jquery-ui onfocus jquery-ui-autocomplete
我有一个带有自动完成功能的表单,可以启动搜索"onfocus"并在用户点击搜索字段时显示选项列表,即使他们没有输入任何内容.
问题是自动完成需要使用键盘选择选项(向下箭头后跟制表符/返回或双击).我的第一个想法是,单击会使焦点保留在搜索字段中,因此自动完成保持可见.但是,第二次单击后搜索字段仍保持聚焦,但第二次单击后自动完成消失.
有任何想法吗?
<script>
$(document).ready(function() {
var autocomplete_focus = function(){
if ($(this).val().length == 0) {
$(this).autocomplete("search", "%");
}
}
$( ".autocomplete" ).autocomplete({
source: "../../db/autocomplete_list.php",
minLength: 0
});
$( ".autocomplete" ).focus(autocomplete_focus);
});
</script>
Run Code Online (Sandbox Code Playgroud)
我意识到之前已经发布了类似的问题 ; 但是,建议的解决方案对我不起作用.
不确定这是否是可接受的解决方案,但实现此目的的一种方法是input使用聚焦值填充.这可以防止菜单显示两次:
/* snip: */
focus: function (event, ui) {
this.value = ui.item.value;
},
Run Code Online (Sandbox Code Playgroud)
这是一个例子: http ://jsfiddle.net/wxQf7/
尝试删除focus事件处理程序以查看问题中的症状.