我如何使用JQuery自动完成功能来处理多个单词

Kar*_*hik 12 jquery autocomplete

我有一个自动完成字段,我只是想知道如何将它用于多个单词?当我输入第一个单词时它完美无缺,但是当我在第二个单词中输入并输入时,它会将两个单词发送回服务器,当然结果是错误的!

例如.当我输入两个单词时,

'Java javascript'

第一个单词'Java',自动完成效果很好,拉出列表.

但当我空格键入javascript时,自动完成功能会将'Java + javascript'发送到我的ajax函数.

任何想法如何解决这一问题?

Sam*_*Sam 14

如果您正在使用自动完成的"低音"版本,它就是内置的.但是如果您使用的是jQuery UI版本,那么这里有一个例子:

http://jqueryui.com/demos/autocomplete/#multiple


Lio*_*ion 10

看起来你不能,内置的实现不支持它 - 你可以在上面的链接中看到:"不是稳定版本或发行版的一部分".

但是,我已下载并使用外部版本,可在此处获得:

http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

它有点大,但用法完全相同,你不需要改变任何东西,多选,添加到选项{multiple:true}

更新

JQueryUI现在已经针对最新版本进行了更新,使得这个答案过时了.这里可以找到一个最新的例子

http://jqueryui.com/demos/autocomplete/#multiple


Ram*_*ttu 8

$("#tagnames").autocomplete("/tags/filter", {
        max: 6,
        highlightItem: true,
        multiple: true,
        multipleSeparator: " ", 
  })
Run Code Online (Sandbox Code Playgroud)

要为多个单词启用自动完成,您应该设置多个选项:truemultipleSeparator:""