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

Kri*_*eni 110 combobox autocomplete html.dropdownlistfor twitter-bootstrap knockout.js

我有一个要求,我必须使用bootstrap自动完成下拉列表,但用户可以在该下拉列表中有自由格式文本,如果他们愿意.在你想预输入,我可以用引导预输入文本框,但我需要有下拉becasue我们希望给的情况下,用户的一些默认值作为领先地位的选择不知道该怎么寻找.

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

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

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

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

现在,我和Knockoutjs一起使用它.我结合我的选择和选择的值来选择控制,然后上呈现我的模板的行,我打电话(选择器).combobox(),这使得所述选择控制的自举comobobox并增加了一个输入控制并隐藏在场景选择控制背后.

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

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

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

谢谢.

Jas*_*els 251

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

另一个不错的选择是Selectize.js.它对Bootstrap来说更具原生性.

  • 您是如何使用Select2来允许数据源中尚未包含的文本输入的? (27认同)
  • 正如@compcentral正确提到的,Select2不允许您输入任何不在选项列表中的内容.使用(自动)标记功能来模拟这是很麻烦的,因为它不接受带有空格的文本. (4认同)
  • 多好的发现!我最终使用了Selectize,因为它似乎更像Bootstrap-esque. (2认同)

Jut*_*uto 21

基本的HTML5数据库是否有效?这很干净,你不必玩乱七八糟的第三方代码...... W3SCHOOL教程

  • HTML 5`datalist`的主要问题是它不支持任何DOM事件.因此,每次选择一个值时,都必须选中相应的文本框 (3认同)