使用类似Chrome的自动填充功能的jQuery UI自动完成功能

时间:2010-08-22 01:51:28

标签: jquery jquery-ui autocomplete autofill

我正在使用jQuery UI自动完成功能,虽然我找到了实现自动填充功能的方法,但我一直在寻找Google Chrome地址栏中的功能。最佳匹配项目是自动填充的,但不会中断您的输入。 alt text

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

我建议你看看旧的jQuery自动完成插件,它提供了内置的这个选项。语法类似,但不是将源作为选项而是将其初始化为第一个参数,使用以下语法:

$('input.autocomplete').autocomplete(data, {autoFill: true});

data必须是结果数组,或者是指向生成结果的服务器端脚本的URL。有关详细信息,请参阅其文档:http://docs.jquery.com/Plugins/Autocomplete


请注意,此插件的作者认为它已过时,并且jQuery UI自动完成将成为其后继者。在他现在指向用户的“如何迁移”帖子中,解释了没有autofill选项的理性jQuery UI:

  

自动填充:没有立即消失   替换可用,好   原因:默认行为时   现在通过键盘选择项目   将重点值放入输入中,   就像Firefox Awesomebar那样。   它与autoFill不同   选项确实如此,但应该没有   需要重新创造这种效果。

答案 1 :(得分:0)

$('#FELD').autocomplete( 
      source: "ajax/manager.json.php",
      minLength: 0, 
      change: function(event, ui) {
          found = false;
            $(".ui-autocomplete li").each(function(n, element){
              var retval = $(element).text().toUpperCase();
              var retval2 = $($(this).data()).attr('item.autocomplete');
              if ((found == false ) &&(retval == $("#FELD").val().toUpperCase()) )
              {
                $("#FELD").val(retval);
                $("#FELDID").val(retval2.id);
                found = true;
              }
            });
          if ( found == false) { $("#FELDID").val("-1"); }
      }
  }); `enter code here`