JQuery / Javascript自动完成有一个非常小的错误!有javascript经验的人可以帮我pelase吗?

时间:2009-11-10 23:25:33

标签: javascript jquery autocomplete autosuggest

我正在使用this JQuery autocomplete plugin。它有效,而且很简单。但是有一个小问题......

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

当发生这种情况时,每次我将一个键推入#q,它都会调用misc / autocomplete / website。如果我搜索猫,它会拨打该网站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部分的末尾...但没有运气。还是一样。谁能告诉我如何解决这个自动完成问题?

2 个答案:

答案 0 :(得分:2)

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

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

查看Plugin's Documentation以了解有关您提供给它的选项的更多详细信息。

答案 1 :(得分:1)

您是否看过minChars财产?

  

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

您看到了other options you can set too (click on the options tab)

吗?

修改

正如我在评论中指出的那样,您使用''作为多个分隔符,因此该插件假定 c a 和< strong> t 都是要搜索的单独字词。我认为您可能希望将其修改为其他内容,可能是' '