专业的基于jQuery的Combobox控件?[关闭]


86

是否有基于jQuery库的专业Combobox控件(带有自动提示的下拉列表)?

它应该能够处理大型数据集并具有某些蒙皮选项。一个多列结果列表将是巨大的。我正在使用ASP.NET,但是如果我必须为其编写包装,这不是问题。

替代文字

我已经在使用第三方控件,但是我遇到了两个供应商控件之间的一些兼容性问题。好吧,我想摆脱这种依赖性。


您是否能够找到这个问题的更好答案?
元素

请在下面查看GeorgeBarker的答案。
splattne

jQuery的组合框称为“自动完成”。 jqueryui.com/autocomplete/#combobox
亚伦

Answers:


24

不幸的是,我所见过的最好的东西是jquery.combobox,但是它看起来并不像我真正想要在Web应用程序中使用的东西。我认为此控件存在一些可用性问题,但是作为用户,我认为我不知道要开始输入下拉列表才能将其转换为文本框。

我非常喜欢Combo Dropdown Box,但是它仍然具有我想要的一些功能,并且仍然处于alpha状态。除了Alpha字母外,我唯一不喜欢它的原因是,一旦我在组合框中键入内容,原始的下拉列表项就会消失。但是,也许对此有一个设置...或者可能相当容易地添加它。

这些是我所知道的仅有的两个选择。祝您搜索顺利。我很想听听您是否找到了第二种选择。


1
我似乎与jquery.combobox和jQuery 1.4.x存在兼容性问题……就像大多数未长期维护的插件一样……
Lukas Eder

3
对第一个链接的注释“注:此刻jquery.combobox表现为下拉列表,而不是完整的combbox。它当前不接受文本输入。” 那种失败的目的IMO ....
马修·德莱

1
sanchezsalvador.com上的死链接
markashworth

53

这看起来非常有前途。这是一个真正的组合-您看到输入的内容。具有我在其他地方未曾见过的很酷的功能:分页结果。

弹性盒


我将第二次推荐FlexBox。它具有非常,非常灵活的样式和UI选项。
Ben Griswold

新版本(0.9.3)刚刚发布。FlexBox现在支持客户端JSON过滤。
Noah Heldman

1
在某些情况下,imo FlexBox可能会过大。
kajo

似乎一次加载所有数据(json),因此如果数据源具有大量记录,可能不适合
David

如果我已经选择一个值,则单击箭头,它仅显示所选值,而不是所有值。
linbo 2012年

24

寻找jquery“组合框”的任何人似乎都针对此问题。我的帖子是为那些来到此页面的人们找到“传统”组合框而不是原始问题的答案而写的。以上解决方案都集中在使用输入作为对现有选择值进行过滤和自动补全的手段。(非常适合大型数据集)

如果您正在寻找传统的组合框,即简单的“键入内容或从这些预定义的值中进行选择”(不,我们不会隐藏键入时不匹配的框),那么您可能会发现需要做的是

<select id="combo4" style="width: 200px;"
            onchange="$('input#text4').val($(this).val());">
    <option>option 1</option>
    <option>option 2</option>
    <option>option 3</option>
</select>
<input id="text4"
       style="margin-left: -203px; width: 180px; height: 1.2em; border: 0;" />

参见 http://bit.wisestamp.com/uncategorized/htmljquery-editable-combo-2/

应该很容易将其包装到可以转换现有select标签的插件中,尽管我还没有看到这样做。

PS:我看到的“ jQuery Editable Combobox”的主要问题是它仍然是一个选择列表,而且完全可以开始输入新内容并不明显。



15

sexy-combo项目的新分支现已发布,看起来很有希望:http : //code.google.com/p/ufd/


我喜欢将选择转换为组合框。
beetstra 2011年

1
在查看了页面上的每条建议之后,我决定接受这一建议。快速,简单,只提供了我想要的,并在现有的选择输入工作的基本功能
埃尔温

也可以用jQuery UI的工作的ThemeRoller
codeulike

这是我的生意。可以在IE7和IE8上无缝运行,这是必需的。词缀(单词中)搜索,滚动条显示更长的列表,并且可以与其他组件很好地配合使用。
Alastair

如果您现有的代码使用旧的html下拉列表,这是迄今为止最容易集成的。我用了这个。
最多

14

对于大型数据集,JQuery UI Autocomplete基本上是Jorn Zaeferrer的Autocomplete插件的“官方”版本吗?

我还编写了一个直接的JQuery组合框插件,该插件从用户那里得到了很好的反馈。但是,它显然并不适用于大型数据集。我认为,如果您希望根据用户输入的内容来修剪列表,那么最好使用Jorn的自动完成插件。


Jorn Zaeferrer的Autocomplete插件既简单又出色
Jake Wilson



7

一个正式的jQuery UI ComboBox / Autocomplete组件正在开发中……(以前是jQuery UI 1.5.x的beta版),请参见jQuery UI Wiki。

更新:

自动完成功能现在是jQuery UI的核心功能,请参阅docs


jQuery 1.8现在可以使用它。我已经非常成功地使用了它,它是一个设计良好的小部件。
Boldewyn

你们正在经历后期效果吗?当我单击箭头切换列表时,页面已发布,页面刷新了……
clockwiseq 2010年

7
组合框与自动完成功能不同
Neil McGuigan

5

如果您不需要多列,则选择是另一个不错的选择。麻省理工学院许可


+1表示选择。看起来很棒,我们不需要使用来自ObjectDatasource的数据对现有下拉列表进行任何更改。就是这样!
马特


3

我在找一样的东西。到目前为止,我最喜欢的一个是ExtJs的这个-除了我还没有使用大型列表对其进行过测试:www.sencha.com/deploy/dev/examples/form/combos.html

这是另一个真正的(!)快速解决方案:http : //jsearchdropdown.sourceforge.net/

例如,SexyCombo的效果非常好,但是可以减慢较长列表的速度。SexyCombo民间UFD快得多,但是对于真正庞大的列表,初始化时间仍然很慢。另外我有时会得到一些!“闪烁”。但是我想在不久的将来会有一些更新。


ExtJs在大型(或巨大)列表上也可以很好地工作,因为它支持分页,您可以在本地查询值,也可以决定将查询发送回服务器并提供另一结果块。ExtJs的问题在于学习曲线陡峭。
stivlo 2011年











By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.