在新的订单表单上,用户需要从包含数十个客户的下拉列表中选择一个客户,并且通过上下滚动很难找到和选择。这就是为什么我们要构建一个可搜索的drop down list
. 当用户输入客户姓名的几个字母时,下拉列表会过滤掉所有其他字母,只留下包含刚刚键入的字母的客户姓名。我们使用simple_form
和rails 3.2.8
。我们可以做的一种方法是添加一个text box
用于输入搜索字符串并调用ajax
以相应地加载下拉列表。这需要额外的文本字段,这是多余的。有没有用户可以直接在下拉框中输入并相应过滤掉列表的解决方案?谢谢。
问问题
4013 次
3 回答
3
看看 JQuery UI 自动完成组合框。它提供下拉功能以及搜索(自动完成)功能。它应该与 simple_form 一起工作得很好。
http://jqueryui.com/autocomplete/#combobox
我发现的最佳实施示例是: http ://babinho.net/2011/05/autocomplete-fields-in-rails-3-1-with-jquery-ui/
于 2012-10-17T16:54:36.053 回答
1
我在https://github.com/seatgeek/soulmate找到的 Soulmate gem 上取得了相当大的成功。还有一篇写得很好的文章也描述了 gem: http: //patshaughnessy.net/2011/11/23/finding-your-soulmate-autocomplete-with-redis-in-rails-3-1
于 2012-10-17T17:25:47.283 回答
1
如果您尚未在项目中使用(或不想使用)jQuery UI,您可以使用 select2:http: //ivaynberg.github.com/select2/
于 2012-10-17T17:36:27.833 回答