我正在使用连接到数据库的jQuery自动完成功能。现在,如果您开始输入一个术语并将鼠标移到填充的列表上,则只有在单击列表项之后,带有原始术语的文本输入才会改变。
我希望键盘也会发生同样的事情。键入向下箭头时,请不要填写文本框。使用enter
或mouse click
$(function() {
function log( message ) {
$(".userBookProjId").val(message);
$(".userBookProjId").scrollTop( 0 );
}
$( ".userBookProj" ).autocomplete({
source: "userBookProj.php?userId=" + $('#userId').val(),
minLength: 2,//search after two characters
select: function( event, ui ) {
log( ui.item ? ui.item.id : "");
}
});
});
非常感谢您的帮助!
答案 0 :(得分:1)
您将要使用focus
事件。
$(function() {
function log( message ) {
$(".userBookProjId").val(message);
$(".userBookProjId").scrollTop( 0 );
}
$( ".userBookProj" ).autocomplete({
source: "userBookProj.php?userId=" + $('#userId').val(),
minLength: 2,
focus: function(){
return false;
},
select: function( event, ui ) {
log( ui.item ? ui.item.id : "");
}
});
});
focus(event,ui)
类型:自动完成对焦
将焦点移至某个项目(未选择)时触发。默认操作是将文本字段的值替换为焦点项目的值,尽管仅当事件是由键盘交互触发的。
取消此事件将阻止更新值,但不会阻止菜单项集中显示。
查看更多:http://api.jqueryui.com/autocomplete/
希望有帮助。