jQuery Autocomplete几乎做到了

Almost there with jQuery Autocomplete?

本文关键字:Autocomplete jQuery      更新时间:2024-02-17

Athttps://jsfiddle.net/Lyfwjrz0/3/它似乎能够接受12000多个机场名称。

{label: "04G - Lansdowne Airport", value: "04G"},
{label: "06A - Moton Field Municipal Airport", value: "06A"},
{label: "06C - Schaumburg Regional", value: "06C"},
{label: "06N - Randall Airport", value: "06N"},

只有几个问题:

  • 当用户键入第一个字符时,速度似乎非常慢。我只想把前7个结果降下来,所以有办法把它限制在7个吗?我想知道这是否能解决速度慢的问题?

  • 搜索字符的粗体似乎并不总是正确的。例如,键入"lon",在Barcelona 中粗体为"lona"

TIA寻求任何帮助标记

一些可能有助于提高性能的东西。从…起http://api.jqueryui.com/autocomplete/:

  • delay-设置为500(毫秒),这样每次按键都不会立即启动搜索
  • minLength:在你输入3个字符之前,你会在野外找到(脑海中浮现出Facebook)的实现不会提供建议

至于"lon"加上"lona",这是一个错误:

newLabel+= (i>= startIndex && i <= endIndex) ? "<b>"+arr[i]+"</b>": arr[i];

应该是

newLabel+= (i>= startIndex && i < endIndex) ? "<b>"+arr[i]+"</b>": arr[i];

https://jsfiddle.net/yaz2mhLy/7/使用minLength作为提到的用户DSN,还显示粗体文本。

$(function() {
  var availableTags = [{
    label: 'honey',
    value: 1
  }, {
    label: 'apples',
    value: 2
  }, {
    label: 'milk',
    value: 3
  }, {
    label: 'tea',
    value: 4
  }, {
    label: 'oranges',
    value: 5
  }, {
    label: 'bread',
    value: 6
  }, {
    label: 'cheese',
    value: 7
  }, {
    label: 'apple-sauce',
    value: 8
  }, {
    label: 'cream-cheese',
    value: 9
  }];