Mar*_*arc 20 jquery jquery-ui-autocomplete
我有一个输入.我使用Jquery UI自动完成功能向用户提出建议.让我的列表中的图像有3项:item1,item2,item3.我要找的是当用户点击进入时要关闭的列表.例如,如果用户只输入"it",则将显示所有3个元素.在那种情况下,如果他点击进入,我希望该列表被关闭.我无法为此解决问题.希望有人能提供帮助.干杯.渣.
我的HTML:
<input id="search" type="input" />?
Run Code Online (Sandbox Code Playgroud)
我的js:
$(function() {
var availableTags = [
"item1","item2","item3"
];
$("#search").autocomplete({
source:availableTags,
minLength: 0
});
});?
Run Code Online (Sandbox Code Playgroud)
kar*_*m79 24
$(function() {
var availableTags = [
"item1","item2","item3"
];
$("#search").autocomplete({
source:availableTags,
minLength: 0
}).keyup(function (e) {
if(e.which === 13) {
$(".ui-menu-item").hide();
}
});
});?
Run Code Online (Sandbox Code Playgroud)
sha*_*bus 24
这是解决方案:http://jsfiddle.net/vXMDR/3/
如果您有疑问,请告诉我.
神奇的是将自动完成关闭方法绑定到按键
$("#search").keypress(function(e){
if (!e) e = window.event;
if (e.keyCode == '13'){
$('#search').autocomplete('close');
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
UPDATE
$("#search").keypress(function(e){将#search元素的按键绑定到指定的函数,传入event对象.你也可以这样写$("#search").on('keypress', function(e) {...
if (!e) e = window.event;确保如果未传入有效事件,则将其设置e为当前window.event对象.
最后,if (e.keyCode == '13'){测试事件键码值等于'enter'键.有关有效密钥代码的列表,请参见此处.
以下是自动完成关闭方法的文档 - http://docs.jquery.com/UI/Autocomplete#method-close