2013-02-09 24 views
0

当您在输入文本区域中键入与源对象的选择列表匹配的字母并使用回车键从选择列表中进行选择后关闭时关闭Jquery UI自动填充,或者如果键入的文本是关闭的不在选择列表中。如何使用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

有,广泛,有两种方法,一是通过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); 
     } 
    } 
}); 

JS Fiddle demo

或者:

$('#textInput').on('autocompleteclose', function (event, ui) { 
    var v = this.value; 
    if (list.indexOf(v) === -1) { 
     list.push(v); 
    } 
}); 

JS Fiddle demo

参考文献:

0

如果我正确理解你,你要找的是自动完成的“选择”属性。

$("#tags").autocomplete({ 
    source: aTags, 
    select: function(event, ui) { 
     alert(ui.item.value); 
    } 
}); 

这里的jsfiddle:http://jsfiddle.net/CezarisLT/KHqQm/

相关问题