首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过按下字母跳入下拉式的ul大列表?

如何通过按下字母跳入下拉式的ul大列表?
EN

Stack Overflow用户
提问于 2013-08-15 11:24:31
回答 2查看 2.3K关注 0票数 0

在rails 3应用程序中,我使用twitter引导程序。我有一个视图,我正在生成一个大的下拉列表,允许人们选择一个名字。使用ajax,当您单击某个名称时,名称会出现在另一个列表上,并且页面刷新不会关闭下拉菜单。

名单中至少有500个名字。要想在里面找到一个名字并不困难,但为了提高用户体验,我正在尝试一种捷径。我想跳到下拉列表时,按一个字母字符。

如果我用一个:

代码语言:javascript
运行
复制
<select>
 <option> name </option>
 <option> ... </option>
</select>

列表使技巧,你可以按"z“,你会掉在菜单的末尾。但是select/option方法更适合表单,我必须设置一个验证按钮来发送数据,这样我就失去了ajax的优势。

我尝试使用jquery使用自动完成方法,但是我的用户告诉我,如果他们不确定名字的正字法,他们更喜欢列表。

我正在查看组合框,以改善下拉行为,但我认为这将是一个选择列表,我必须做一个验证按钮。我不希望我的用户重复打开列表,点击,发送,刷新重新打开列表.

有什么办法可以通过按一个字母来跳槽吗?您对那些必须在长列表中找到名称的用户有什么建议吗?我如何改进他们的导航?

谢谢

编辑:

实际下拉列表如下所示:

代码语言:javascript
运行
复制
<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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-15 11:38:29

我建议您使用带有所有这些特性的jquery插件,而不是从头开始创建。类似于chosen插件或select2之类的东西应该做这件事,因为他们有选择itens、搜索特性和其他东西的事件。

选择:https://github.com/harvesthq/chosen

Select2:http://ivaynberg.github.io/select2/

更新:

尝试正常创建select,并在选项更改时触发ajax调用。

代码语言:javascript
运行
复制
$('#your_select').change(function() {
  // Make your ajax call here, update what you want.
});

这样,您就可以消除在列表中插入链接的需要。

票数 1
EN

Stack Overflow用户

发布于 2018-03-16 22:00:02

另一个(相当不错的)选项是使用提前输入:https://twitter.github.io/typeahead.js/

受twitter.com自动完成搜索功能的启发,typeahead.js是一个灵活的JavaScript库,为构建健壮的打字机提供了坚实的基础。 typeahead.js库由两个组件组成:建议引擎、Bloodhound和UI视图Typeahead。建议引擎负责计算给定查询的建议。UI视图负责呈现建议和处理DOM交互。这两个组件可以单独使用,但在一起使用时,可以提供丰富的提前输入体验。

因为你做了一个单一的选择,并希望能够搜索选项,我觉得这将是你最好的选择。

设置也很简单..。只需绑定您的名称数组并进行配置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18251705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档