下拉框和组合框有什么区别吗?

60

下拉框和组合框[HTML]之间有什么区别吗?

实际上,我的意思是每当我说类似这样的话:“组合框有些问题”,我的前辈会说:“那不是一个组合框,那是一个下拉框”, :)


1
你的前辈是正确的,尽管MSDN使用的组合框只是一个下拉菜单。微软搞错了。 - Matt Rockwell
1
感谢您提出这个问题。我发现它与我现在正在处理的某些事情相关。 - Waddler
6个回答

93

从技术上讲,在HTML中没有组合框,因为<SELECT>无法输入文字。参见Combo Box的维基百科文章(强调是我的):

组合框是一种常用的图形用户界面小部件。它是下拉列表或列表框和单行文本框的组合,允许用户直接在控件中输入值或从现有选项列表中选择。

虽然下拉列表的定义恰好与HTML的<SELECT>元素相匹配:

当激活时,它会显示(下拉)一个值列表,用户可以从中选择一个值。

所以你的前辈是对的。


20

我想他在谈论的是

  • 组合框是输入文本字段和选项列表的组合。您可以在输入字段中键入内容,列表会更新以突出可能匹配的内容
  • 下拉菜单只是点击箭头按钮时弹出的选项列表。您只能从预定义的选项列表中选择

2

组合框允许用户从预定义的集合中选择一个值或输入自定义值。下拉列表仅允许选择预定义值之一。


1

组合框应该在预定义列表中始终向用户展示多个选项,并且应该允许用户选择单个项目和/或输入自己的值;

或者

组合框也可以允许用户从一个已显示的预定义列表中选择多个项目并/或添加其自己的值。

下拉框/下拉列表框应该只显示并允许用户从预定义列表中选择一个项目。


0

组合框已经选择了一个值。而额外的组合框则结合了输入字段。

下拉菜单是一个简单的列表项,选择值后执行任何任务。


目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

0

如果您正在考虑要实现哪个,我发现ARIA文档很好地解释了权衡:

当构建一个既视觉紧凑又能使用户从一组离散值中选择一个值的小部件时,通常使用列表框或菜单按钮更简单易用。与列表框和菜单按钮不同的是,组合框的一个特点是其值呈现在编辑字段中。因此,组合框为用户提供了一个既可以选择某些值又可以将这些值全部复制到剪贴板的功能,而列表框和菜单按钮则缺乏这个功能。组合框和菜单按钮部件与列表框部件不同的一个特点是它们具有提供撤销机制的能力。

总之:

  • 相对于组合框,更推荐使用菜单或列表框,因为它们更容易实现
  • 唯一区分组合框与其他两者的是它可以让用户复制到剪贴板并进行撤销操作

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接