Drop down menu 巨大下拉列表的备选方案(24000项)

Drop down menu 巨大下拉列表的备选方案(24000项),drop-down-menu,large-data-volumes,Drop Down Menu,Large Data Volumes,在我的管理部分,当我编辑项目时,我必须将每个项目附加到父项目。我有一个超过24000个家长项目的列表,这些项目按字母顺序排列在下拉列表中(音乐艺术家列表) 在下拉菜单中列出所有这些项目的编辑页面是2MB,对于那些使用旧机器的人来说,尤其是在Internet Explorer中,它的速度非常慢 复制相同的功能是一个很好的选择,我需要从这24000个艺术家中选择一个,而不需要将他们全部预加载到下拉菜单中 假设此人知道他们在找什么,您可以创建一个简单的自动建议功能。签出。使用jquery(或类似工具)

在我的管理部分,当我编辑项目时,我必须将每个项目附加到父项目。我有一个超过24000个家长项目的列表,这些项目按字母顺序排列在下拉列表中(音乐艺术家列表)

在下拉菜单中列出所有这些项目的编辑页面是2MB,对于那些使用旧机器的人来说,尤其是在Internet Explorer中,它的速度非常慢


复制相同的功能是一个很好的选择,我需要从这24000个艺术家中选择一个,而不需要将他们全部预加载到下拉菜单中

假设此人知道他们在找什么,您可以创建一个简单的自动建议功能。签出。

使用jquery(或类似工具),它有许多自动完成的下拉列表。例如:


不要在下拉列表中填写这么多姓名,您可以:

  • 创建一个简单的搜索机制,在其中匹配名称的开头
  • 利用类别(如果有)和多个组合框缩小选择范围
  • 如上所述,某种具有分类层次结构的树结构
  • 一个快捷方式控件,其中有一个链接或一个字母表中字母的按钮(元类别)

  • 当然,这在很大程度上取决于您正在实现的堆栈,例如,您使用的是AJAX还是jQuery,对db/类型的访问。

    假设用户知道他们在寻找什么/谁(在本例中是艺术家),我认为自动完成文本框是最好的。这种方法将消除最初的负载问题,并提供一个干净的AJAX-y实现,而现在用户往往更喜欢这种实现。或者,由于您处理的是艺术家姓名,您可能希望包含一个“字母表”控件,该控件允许用户按首字母(first和/或last)减少艺术家列表。我看到每个字母都有一个超链接,这样做非常有效。同样的方法也可以通过包含字母表中所有字母的下拉列表来实现,根据选择动态加载过滤的艺术家下拉列表。

    这也是我的想法。有没有办法将ID编码到其中?因为我喜欢这个下拉菜单,它有一个值(id)和一个实际的文本(艺术家的名字)。Yegor,这取决于你怎么做。不过,你总是可以有创意的。例如,如果结果以无序列表的形式返回,您可以将您的id存储在列表项标题标记中,然后用类似$(this.attr('title')的内容单击获取它。