具有typeahead和分层项的Javascript组合框

时间:2012-10-19 00:47:53

标签: javascript jquery combobox typeahead bootstrap-typeahead

我想创建一个带有分层项目列表的组合框。我需要能够单独选择父项和子项。我还需要能够为这个组合框提供先行功能。

例如,我想在JS中使用这些数据制作一个组合框:

加拿大

- 安大略省

- 魁北克

USA

- 马萨诸塞

- 俄亥俄

- 得克萨斯

从这个下拉列表中我希望能够单独选择任何省/州。我也希望能够选择“加拿大”而不选择它的孩子。

我已经尝试过Select2并且一直在挖掘JQuery UI以查看它是否可行,但到目前为止我无法完全实现我需要的行为。我正在使用bootstrap编写此页面,但是在boost中给定的typeahead似乎根本不适用于组合框(我可以看到)。

2 个答案:

答案 0 :(得分:3)

您可以使用选择的javascript插件来实现此目的。 http://harvesthq.github.com/chosen/

答案 1 :(得分:0)

您可以为每个预先存储的结果存储自定义JS对象,以便它可以显示和存储的不仅仅是字符串(例如,类型或ID)。使用它可以让你对国家/省/州有不同的逻辑。这是一个这样做的例子:

https://github.com/twbs/bootstrap/pull/3682

因此在更新程序功能中,您可以根据自定义对象获得逻辑,以确定它是否是被点击的父项或子项。

至于使父母看起来与孩子不同,我自己没有使用它,但是在bootstrap中有一个模板系统。查看此链接以获取示例:

https://github.com/twbs/bootstrap/issues/2441

您可以使用它来区分父母和孩子的外观。