javascript - 减少自动完成术语

标签 javascript autocomplete prototypejs scriptaculous

我有一个非常大的术语列表,可在自动完成框中使用。我一直在考虑如何 trim 它们的几种不同方案,但我还没有想出任何好的方案。

基本上,结构与唱片公司非常相似 -

  • 艺术家有专辑 专辑有歌曲
  • 单曲可能很受欢迎,专辑大多是其基础歌曲受欢迎程度的总和
  • 专辑中的歌曲数量也存在很大差异 - 因此,如果专辑有数百首歌曲,则很可能有人想要搜索它,而可能性则较小 如果歌曲较少
  • 随着自动填充变得更加具体(更多字母),我希望显示不太可能的术语

我在想这样的事情:

Apple   10
Banana  10
Crab    20
Diner   30
Dish    20
Daily   10
Diver   20
Dice    10

如果这是专辑列表以及我分配给它们的“分数”,我只需根据我显示的列表的长度(例如 3)选择列表,然后按分数 - 我点击“上面的D”,出现“Diner”、“Dish”和“Diver”,然后“i”就变成“Diner”、“Dish”和“Diver”。

是否有特定的算法可以做到这一点?或者为此构建 AJAX 自动完成器?我目前正在使用 Prototype/Scriptaculous,但我似乎无法正确使用它。

最佳答案

我刚刚发布了server-side autocomplete implementation在谷歌代码上。该项目包括一个可以集成到现有应用程序中的 java 库和一个独立的 HTTP AJAX 自动完成服务器。踢轮胎!

关于javascript - 减少自动完成术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1944461/

相关文章:

javascript - 将页面 anchor 传递到新页面而不使用 URL

javascript - Node.js Express : re-accessing variables injected into . html 文件

javascript - 结合类似的点击处理程序以减少 jquery 中使用的代码?

javascript - 如何在传单中制作弹出表单AJAX并在提交时执行功能

c# - 在 asp.net 中自动完成选择多个标签

javascript - 如何每 15 秒更新一次 div?

linux - 从 bash 脚本中检查自动完成是否已初始化

reactjs - MUI 自动完成 : How to prevent open on focus, 在输入更改时打开?

javascript - Prototype.js 或其他 js 函数来解码 html 实体

javascript - 选择所有具有样式的 DIV 显示无