bootstrap typeahead from a loop

时间:2013-07-29 16:19:10

标签: twitter-bootstrap

我目前从循环中得到一个城市列表,如下所示:

<label>City</label>
<select class="input-block-level" name="city">
     <option value=" ">Any</option>
     <!-- TMPL_LOOP Cities -->
     <option value="<!-- TMPL_VAR city_name -->">
     <!-- TMPL_VAR city_name -->
     </option>
     <!-- /TMPL_LOOP -->
</select>'

我如何将其转换为预先输入?我没有能力改变循环代码,所以我必须使用我所拥有的东西。

我尝试了这个并没有奏效:

<input autocomplete="off" class="typeahead" type="text" 
data-provide="typehead"
data-items="4"
data-source="[
<!-- TMPL_LOOP Cities -->
"<!-- TMPL_VAR city_name -->",
<!-- /TMPL_LOOP -->
]" />

1 个答案:

答案 0 :(得分:0)

看起来你的报价可能有些问题。试试这个语法(注意单引号):

<input data-provide="typeahead" data-items="4" data-source='["purple", "monkey", "dishwasher"]' />

此外,您需要确保数组中没有任何尾随逗号(即["a", "b", "c",]),因为这会破坏IE。

更新/替代解决方案

另一种方法是使用javascript:

var src = [
    <!-- TMPL_LOOP Cities -->
    "<!-- TMPL_VAR city_name -->",
    <!-- /TMPL_LOOP -->
];

$('#myTypeahead').typeahead({
    source: src,
    items: 4
});

<input id="myTypeahead" type="text"/>