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

时间:2009-05-05 09:53:15

标签: jquery autocomplete

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

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

'Java javascript'

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

但是当我空格并输入javascript时,自动完成会发送'Java + javascript'到我的ajax功能。

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

4 个答案:

答案 0 :(得分:14)

如果您正在使用自动完成的“bassistance”版本,它是内置的。但是如果您使用的是jQuery UI版本,那么这里有一个例子:

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

答案 1 :(得分:10)

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

但是,我已下载并使用外部版本here

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

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

<强>更新

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

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

答案 2 :(得分:7)

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

要为多个字词启用自动完成功能,您应该设置选项 multiple:true multipleSeparator:“”

答案 3 :(得分:0)

添加评论以获得更完整的答案,假设您有两种可能的选择,并带有一个共同的前缀:

ip5 ip5电池

如果用户输入文本框ip5,则会自动选择上面的第一个选项而不让用户继续输入第二个选项,以避免此行为,请确保使用选项

triggerSelectOnValidInput:true,