【发布时间】:2011-06-04 00:05:09
【问题描述】:
我正在使用 JQuery UI 自动完成功能。我正在指定最小长度。如果我指定 minLength:2 我需要在服务触发之前输入 2 个字符。如果我指定minLength:1,那么我只需要在源服务触发之前输入一个字符。
但是,当我指定minLength:0 时,我仍然需要输入一个字符。那么0 的意义何在?它与1 有何不同?预期和期望的行为是,一旦输入具有焦点,它就会触发......?
想法?
更新:在大多数情况下,以下 karim 的解决方案有效,但是当单击输入时会出现选项,当单击一个时,源会重新提交 空字符串而不是刚刚选择的新选项,因此选择一个选项后出现的自动完成选项与与该框为空一样。 p>
【问题讨论】:
-
当您拥有
minLength:0时,预期的行为是什么? -
基本上,您希望在关注自动完成字段时弹出所有可用结果?
-
嗯,不完全是,但是是的。我把你弄糊涂了吗?我希望服务返回的所有结果都弹出。然而,这可能是也可能不是所有可能的结果。例如,如果我的服务对所有剩余可能的结果进行排名并仅显示前十名,它不会显示所有可能的结果,但是,是的,自动完成将显示 Web 服务返回给它的所有结果......我希望这是有道理的... :)
-
如果您将第二个参数留给
search调用,它将使用字段中的值(即不包括空字符串):.focus(function() {$(this).autocomplete("search");});(jQuery 的有关此操作的文档似乎暗示空字符串有效,但不指定参数有效)
标签: javascript jquery html jquery-ui autocomplete