附加到typeahead

时间:2014-01-20 22:38:50

标签: javascript jquery twitter-bootstrap bootstrap-typeahead

是否可以将一些HTML附加到typeahead的末尾?我尝试过很多不同的东西,但都没有。

我要做的是将typeahead的最后结果设为Search for "< what the user typed into the input >"

以下是我在JSFiddle上尝试的内容:http://jsfiddle.net/MgcDU/8621/

我期望它做的是在创建后的下拉列表末尾添加<li>,但事实并非如此。为什么呢?

HTML:

<input type="text" data-source="[&quot;Alabama&quot;,&quot;Alaska&quot;,&quot;Arizona&quot;,&quot;Arkansas&quot;,&quot;California&quot;,&quot;Colorado&quot;,&quot;Connecticut&quot;,&quot;Delaware&quot;,&quot;Florida&quot;,&quot;Georgia&quot;,&quot;Hawaii&quot;,&quot;Idaho&quot;,&quot;Illinois&quot;,&quot;Indiana&quot;,&quot;Iowa&quot;,&quot;Kansas&quot;,&quot;Kentucky&quot;,&quot;Louisiana&quot;,&quot;Maine&quot;,&quot;Maryland&quot;,&quot;Massachusetts&quot;,&quot;Michigan&quot;,&quot;Minnesota&quot;,&quot;Mississippi&quot;,&quot;Missouri&quot;,&quot;Montana&quot;,&quot;Nebraska&quot;,&quot;Nevada&quot;,&quot;New Hampshire&quot;,&quot;New Jersey&quot;,&quot;New Mexico&quot;,&quot;New York&quot;,&quot;North Dakota&quot;,&quot;North Carolina&quot;,&quot;Ohio&quot;,&quot;Oklahoma&quot;,&quot;Oregon&quot;,&quot;Pennsylvania&quot;,&quot;Rhode Island&quot;,&quot;South Carolina&quot;,&quot;South Dakota&quot;,&quot;Tennessee&quot;,&quot;Texas&quot;,&quot;Utah&quot;,&quot;Vermont&quot;,&quot;Virginia&quot;,&quot;Washington&quot;,&quot;West Virginia&quot;,&quot;Wisconsin&quot;,&quot;Wyoming&quot;]" data-items="10" data-provide="typeahead" style="margin: 0 auto;" class="span3">

jQuery的:

$(".typeahead.dropdown-menu").append('<li data-value="Custom" class=""><a href="#">CUSTOM TEXT</a></li>');

1 个答案:

答案 0 :(得分:0)

下拉菜单是在先行过滤过程中构建的。如果你“加载”检查它,你会发现它是空的。

根据您尝试解决的具体问题,我可以考虑两种可能的解决方案。

一种解决方案是扩展typeahead插件并提供自定义“渲染”功能。这将允许您修改列表呈现过程并附加其他<li>以及您喜欢的任何其他内容。这可能被视为“最佳方式”。

另一个更糟糕的解决方案是将自定义值放在数据源中,然后提供自定义“匹配器”功能,该功能运行原始匹配器以及自定义值的附加子句。

当然,解决方案与问题有关,并且在不知道您想要做什么的具体细节的情况下,我不能推荐使用哪一个。但就我所能想的那些,这是你的两个选择。