我正在使用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×tamp=1257895405420
misc/autocomplete/?q=a&limit=10×tamp=1257895405420
misc/autocomplete/?q=t&limit=10×tamp=1257895405420
我尝试将$(“#q”)。val()附加到URL部分的末尾...但没有运气。还是一样。谁能告诉我如何解决这个自动完成问题?
答案 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 都是要搜索的单独字词。我认为您可能希望将其修改为其他内容,可能是' '