在向前一个单词追加单词时,jQueryUI自动完成功能不会显示

时间:2013-04-19 07:16:03

标签: javascript jquery jquery-ui autocomplete

在我的项目中,我正在使用TextField的jQuery UI Autocomplete插件。我写了以下代码,工作正常:

<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将存储在go变量中。现在,当我在I(追加)之后开始输入I go时,自动填充建议不会显示任何填充建议。我知道这种情况正在发生,因为sugData不等于go, am, play中存储的数组中可用的任何数据,即I

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

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

编辑:如果我只考虑发送到服务器的最后一个字,那么服务器将使用go, am, play而不是{{1}}进行回复。所以,不可能只修剪最后一个字。

1 个答案:

答案 0 :(得分:0)

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

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

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