auto_complete_for:阻止自动选择第一个项目

时间:2011-03-26 20:35:15

标签: ruby-on-rails ajax scriptaculous

来自script.aculo.us的auto_complete_for dealio非常棒,但有没有办法让我有选择地禁用它总是自动选择列表中第一项的事实?

问题是,如果我想输入我自己的新内容和新内容,我不希望自动选择列表中的第一项。原因是当我选择了字段时,它会选择并填充第一个项目的文本框。

通过使列表中的第一项与我正在键入的内容相同,我在某种程度上解决了这个问题,但这也不完美,因为auto_complete列表并不总是随每次击键更新,具体取决于速度我打字。我已经尝试将列表刷新率设置为最低值(1毫秒),但没有去。

我真正想要的是“auto_complete_for”中的一个选项,它根本不会选择第一个项目 - 就像Google Instant不会自动选择第一个建议的搜索词组一样 - 您必须向下箭头选择之一。

也许我可以通过我缺少的HTML选项来做到这一点?

4 个答案:

答案 0 :(得分:2)

查看来源,似乎没有选项,但我敢打赌,如果你将{。{3}}的控件更改为this.index = -1;它会做你想要的。

否则,可能是时候寻找不同的自动完成小部件了。

答案 1 :(得分:0)

如果您的要求离可用插件太远,那么我想没有必要去修补。最好编写自己的JS代码。

您可能需要考虑这个问题:https://github.com/laktek/jQuery-Smart-Auto-Complete

或者:https://github.com/reinh/jquery-autocomplete

答案 2 :(得分:0)

我将添加另一个适用于Rails 3的替代方案: http://github.com/crowdint/rails3-jquery-autocomplete

答案 3 :(得分:0)

我最近为Rails 2.0.2实现了多个字段的自动完成。

我使用的插件是: - https://github.com/david-kerins/auto_complete。不确定它是否支持Rails 3。

我也遇到过关于实现上述场景的问题,并在stackoverflow上发布了问题(Implementing auto complete for more than one field in Rails; Implementing a OnClick kind of functionality and formatting wrt Rails Partial-Views),我很幸运能根据我的要求为我工作

请参考这些问题,它们可能与您的要求有关。