4

我想在我的网站上添加一个自动完成系统,我搜索了一段时间,但没有找到我要找的东西,很难解释。

我想要一个直接在其内部自动完成输入的系统。谷歌使用“通用”自动完成加上这个,但似乎没有其他人做过这样的事情!

一些简单而合乎逻辑的东西......如果不存在,怎么可能做这样的事情?

这是谷歌系统:

谷歌自动完成内部输入

4

1 回答 1

2

解决方案可能是在输入框上方放置一个带有灰色文本的 div,以显示第一个自动完成选项与文本框中当前文本之间的区别。

按下按键 - 任何常见的自动完成都会生成匹配项目的列表。取第一个并在他身上设置一个选定的样式(通过使用.addClass()),将文本框内容与第一项内容之间的差异放在灰色的div上。

我发现了一个有趣的扩展,默认选择第一个选项:

http://github.com/scottgonzalez/jquery-ui-extensions/blob/master/autocomplete/jquery.ui.autocomplete.selectFirst.js

$( el ).autocomplete({
      selectFirst: true
});

您可以使用它并对其进行更改以满足您的需求。例如,您可以将以下代码添加到“jquery.ui.autocomplete.selectFirst.js”文件中:

if (menu.element.children().first().length == 1)
{
    $("#autocomplete").val(menu.element.children().first()[0].childNodes[0].childNodes[0].data);
}

它不仅会选择,而且实际上会将其插入到文本框中(注意:我只是举了你可以做什么的例子,这个代码本身是不够的)。

于 2012-09-18T01:48:06.607 回答