【问题标题】:jQueryUI Autocomplete doesn't show up when appending words to previous words将单词附加到前面的单词时,jQueryUI 自动完成不显示
【发布时间】:2013-04-12 12:43:03
【问题描述】:

在我的项目中,我在 TextField 中使用 jQuery UI 自动完成插件。我编写了以下代码,运行良好:

<textarea id="result" rows="4" cols="50"></textarea>

$('#result').autocomplete({
    source: sugData
});

现在我简单解释一下这个问题:

如果有这样的词:

 I go to school
 I am a boy
 I play cricket

然后,当我在文本字段中输入I 时,服务器将响应go, am, play,它将存储在sugData 变量中。现在,当我在I(附加)之后开始输入go 时,自动完成建议不会显示任何要填写的建议。我知道这是因为I go 不等于存储在sugDatago, am, play 中的数组中的任何可用数据。

无论如何要解决这个问题?

PS:我正在将文本字段中的完整文本发送到服务器端,这是必要的。

编辑:如果我只考虑发送到服务器的最后一个单词,那么服务器将响应I 而不是go, am, play。所以,不能只修剪最后一个字。

【问题讨论】:

    标签: javascript jquery jquery-ui autocomplete


    【解决方案1】:

    而不是静态对象,给源属性一个函数,将请求和响应函数作为参数。

    • 使用 request.term 获取源词。
    • 过滤自己的 sugData 并将结果用作响应函数调用的参数。

    有关源被实现为函数的更多信息,请访问有关它的 jquery ui 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-03
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 2018-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多