在rails 3应用程序中,我使用twitter引导程序。我有一个视图,我正在生成一个大的下拉列表,允许人们选择一个名字。使用ajax,当您单击某个名称时,名称会出现在另一个列表上,并且页面刷新不会关闭下拉菜单。
名单中至少有500个名字。要想在里面找到一个名字并不困难,但为了提高用户体验,我正在尝试一种捷径。我想跳到下拉列表时,按一个字母字符。
如果我用一个:
<select>
<option> name </option>
<option> ... </option>
</select>
列表使技巧,你可以按"z“,你会掉在菜单的末尾。但是select/option方法更适合表单,我必须设置一个验证按钮来发送数据,这样我就失去了ajax的优势。
我尝试使用jquery使用自动完成方法,但是我的用户告诉我,如果他们不确定名字的正字法,他们更喜欢列表。
我正在查看组合框,以改善下拉行为,但我认为这将是一个选择列表,我必须做一个验证按钮。我不希望我的用户重复打开列表,点击,发送,刷新重新打开列表.
有什么办法可以通过按一个字母来跳槽吗?您对那些必须在长列表中找到名称的用户有什么建议吗?我如何改进他们的导航?
谢谢
编辑:
实际下拉列表如下所示:
<ul class="dropdown-menu">
<% participants.each do |p| %>
<li>
<%= link_to "#{p.first-name} #{p.last-name}",
activity_activity_items_path(
@activity,
activity_item:{
activity_itemable_id: p.id,
activity_itemable_type: p.class.name
} ),
method: :post,
remote: true %>
</li>
<% end %>
</ul>
发布于 2013-08-15 11:38:29
我建议您使用带有所有这些特性的jquery插件,而不是从头开始创建。类似于chosen
插件或select2
之类的东西应该做这件事,因为他们有选择itens、搜索特性和其他东西的事件。
选择:https://github.com/harvesthq/chosen
Select2:http://ivaynberg.github.io/select2/
更新:
尝试正常创建select,并在选项更改时触发ajax调用。
$('#your_select').change(function() {
// Make your ajax call here, update what you want.
});
这样,您就可以消除在列表中插入链接的需要。
发布于 2018-03-16 22:00:02
另一个(相当不错的)选项是使用提前输入:https://twitter.github.io/typeahead.js/
受twitter.com自动完成搜索功能的启发,typeahead.js是一个灵活的JavaScript库,为构建健壮的打字机提供了坚实的基础。 typeahead.js库由两个组件组成:建议引擎、Bloodhound和UI视图Typeahead。建议引擎负责计算给定查询的建议。UI视图负责呈现建议和处理DOM交互。这两个组件可以单独使用,但在一起使用时,可以提供丰富的提前输入体验。
因为你做了一个单一的选择,并希望能够搜索选项,我觉得这将是你最好的选择。
设置也很简单..。只需绑定您的名称数组并进行配置。
https://stackoverflow.com/questions/18251705
复制相似问题