使用Knockoutjs的twitter bootstrap自动完成下拉列表/组合框

时间:2012-10-15 18:45:41

标签: autocomplete combobox twitter-bootstrap knockout.js html.dropdownlistfor

我有一个要求,我必须使用bootstrap自动完成下拉列表,但是如果用户希望,用户可以在该下拉列表中获得自由格式文本。在考虑TypeAhead之前,我可以使用Bootstrap TypeAhead文本框,但我需要有下拉列表,因为我们想要提供一些默认值作为headstart选项,以防用户不知道要搜索什么。

我在MVC DropDownListFor中使用它,因为它为我们创建了一个选择控件。

我发现这篇文章对我有用。

https://github.com/danielfarrell/bootstrap-combobox/pull/20

我所要做的就是从选择控件中取出名称,控件让我输入自由格式文本。到目前为止一切都很好。

现在,我正在将此与Knockoutjs结合使用。我将我的选项和选定值绑定到选择控件然后在我的模板渲染的行上,我调用(选择器).combobox(),它使select控件成为一个引导comobobox并添加一个输入控件并隐藏场景中的select控件后面。

现在的问题是当我试图让他的值发布到服务器时,因为我输入框中的值不是我给选择控件的选项中的有效选项,它始终将其设置为第一个选项默认情况下。这是因为,我在select控件上设置了所选值的绑定,而不是在bootstrap-combobox.js创建的输入框上。

我的问题是如何让输入框与select控件绑定的数据绑定到相同的属性。

还有其他选择吗? 如果您需要更多说明或有疑问,请与我们联系。 请建议。

感谢。

6 个答案:

答案 0 :(得分:248)

看看Select2 for Bootstrap。它应该能够做你需要的一切。

另一个不错的选择是Selectize.js。它对Bootstrap来说有点原生。

答案 1 :(得分:20)

基本HTML5数据库是否有效?它很干净,您不必使用凌乱的第三方代码... W3SCHOOL tutorial

答案 2 :(得分:4)

Select2 for Bootstrap 3原生插件

https://fk.github.io/select2-bootstrap-css/index.html

此插件使用select2 jquery插件

的NuGet

PM> Install-Package Select2-Bootstrap

答案 3 :(得分:1)

Fuel UX combobox具有您期望的所有功能。

答案 4 :(得分:1)

我可以建议http://www.jqueryscript.net/form/Twitter-Like-Mentions-Auto-Suggesting-Plugin-with-jQuery-Bootstrap-Suggest.html,更像是Twitter帖子建议,它会根据@或#标签为您提供用户或主题列表,

在此处查看演示:http://www.jqueryscript.net/demo/Twitter-Like-Mentions-Auto-Suggesting-Plugin-with-jQuery-Bootstrap-Suggest/

在这个中你可以轻松地将@和#改为你想要的任何东西

答案 5 :(得分:1)

Bootstrap Tokenfield似乎也很好:http://sliptree.github.io/bootstrap-tokenfield/