【问题标题】:How do i use JQuery Autocomplete for multiple words我如何对多个单词使用 JQuery 自动完成
【发布时间】:2015-08-02 08:06:46
【问题描述】:

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

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

'Java javascript'

第一个单词'Java',自动补全效果很好,拉列表。

但是当我空格并键入 javascript 时,自动完成发送 'Java +javascript' 到我的 ajax 函数。

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

【问题讨论】:

    标签: jquery autocomplete


    【解决方案1】:

    如果您使用的是“bassistance”版本的 Autocomplete,它是内置的。但如果您使用的是 jQuery UI 版本,这里有一个示例:

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

    【讨论】:

      【解决方案2】:

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

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

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

      稍微大一点,但是用法完全一样,不用改什么,多选的话,在options里加{multiple:true}

      更新

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

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

      【讨论】:

      【解决方案3】:
      $("#tagnames").autocomplete("/tags/filter", {
              max: 6,
              highlightItem: true,
              multiple: true,
              multipleSeparator: " ", 
        })
      

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

      【讨论】:

      【解决方案4】:

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

      ip5ip5电池

      如果用户在文本框中输入 ip5,上面的第一个选项将自动被选中,而不会让用户继续输入第二个选项,为避免这种行为,请确保使用该选项

      triggerSelectOnValidInput: true,

      【讨论】:

        猜你喜欢
        • 2015-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多