当您在输入文本区域中键入与源对象的选择列表匹配的字母时,将打开Jquery UI自动完成,并在使用回车键从选择列表中进行选择后关闭,如果您键入的文本,则关闭不在选择列表中。
如何在键入不在选择列表中的文本后检查自动完成功能何时关闭?我要做的是当输入回车键时,检查自动完成是否已关闭,如果是,请在文本区域中获取文本,如果它不为空。
这样的事情:
$(".inputText").keydown(function()
{
if(keyChar == enterKey)
{
// Somehow check is autocomplete is closed and if inputText is not empty, get the text without it interfering with the autocomplete select event.
}
});
答案 0 :(得分:0)
广泛地说,有两种方法,一种是通过autocomplete()
方法绑定到元素,另一种是通过关闭自动完成列表来触发自定义事件autocompleteclose
:
var list = [
'apple',
'Azerbaijan',
'aggregate',
'Albert',
'Aunty',
'admissible',
'and so forth...'
];
$('#textInput').autocomplete({
source: list,
close: function ( event, ui ) {
var v = this.value;
if (list.indexOf(v) === -1) {
list.push(v);
}
}
});
或者:
$('#textInput').on('autocompleteclose', function (event, ui) {
var v = this.value;
if (list.indexOf(v) === -1) {
list.push(v);
}
});
参考文献:
答案 1 :(得分:0)
如果我理解正确,你要找的是自动完成的“选择”属性。
$( "#tags" ).autocomplete({
source: aTags,
select: function( event, ui ) {
alert(ui.item.value);
}
});
这里是JSFIddle:http://jsfiddle.net/CezarisLT/KHqQm/