0

我正在使用这个 JQuery 自动完成插件。它有效,而且很简单。但是有个小问题...

$("#q").autocomplete('/misc/autocomplete/', {autoFill:false,multiple:true, multipleSeparator:''});

发生这种情况时,每次我将键输入#q 时,它都会调用那个 misc/autocomplete/ 网站。如果我搜索 cat,它将调用该网站 3 次。但是,它不会调用“c”,然后是“ca”,然后是“cat”,而是传递 3 个单独的字符。当然,这不是我想要的。

misc/autocomplete/?q=c&limit=10&timestamp=1257895405420
misc/autocomplete/?q=a&limit=10&timestamp=1257895405420
misc/autocomplete/?q=t&limit=10&timestamp=1257895405420

我尝试将 $("#q").val() 附加到 URL 部分的末尾......但没有运气。还是一样。谁能告诉我如何解决这个自动完成?

4

2 回答 2

2

这不是错误,而是根据指定选项的行为。

您指定multiple: true使插件接受多个搜索词,但随后将术语分隔符定义为multipleSeparator: '',这意味着没有任何分隔符,因此每个字符都是一个单独的搜索词,这可能不是您想要的,但它是插件正在给你。

查看插件文档以获取有关您提供给它的选项的更多详细信息。

于 2009-11-10T23:34:26.090 回答
1

你看过minChars楼盘吗?

您可以传入一个值来指定用户在激活自动完成程序之前必须输入的最少字符数。

您是否看到您也可以设置的其他选项(单击选项选项卡)

编辑:

正如我在评论中指出的那样,您使用 a''表示多重分隔符,因此插件假定cat都是要搜索的单独术语。我认为您可能想将其修改为其他内容,可能' '

于 2009-11-10T23:29:29.627 回答