2

我正在使用 Twitter 的 typeahead 前端库进行自动完成。我的配置使用对服务器的远程调用。自动完成本身工作正常,但是表单标签现在拒绝在输入标签中实际输入内容(按 Enter 后)。我怀疑这是因为 typeahead 强制在 . 这是我的代码:

<form class="navbar-search form-search pull-left" action="javascript:query_main()" method="get">
    <div class="main_dropdown navbar-search">
       <input class="typeahead" id="query_main" type="text">
    </div>
</form>

Below is when the code worked (without typeahead)


<form class="navbar-search form-search pull-left" action="javascript:query_main()" method="get">
    <input type="text" id="query_main" class="main_dropdown typeahead">
</form>

有任何想法吗?谢谢。

4

2 回答 2

4

您应该在表单中至少提供一个<input type="submit" />以期望表单在按 Enter 时提交。

如果您不想显示按钮,请使用 CSS 将其隐藏。

于 2013-08-05T13:20:49.150 回答
2

尝试data-provide="typeahead"在输入中添加一个属性,就像在官方文档示例中一样:http: //getbootstrap.com/2.3.2/javascript.html#typeahead

如果你想对所选项目做一些更复杂的事情,你可以使用updaterbootstrap 的 typeahead 中的选项。

例如,在你的情况下,你会放这样的东西(在 jQuery 中):

$('#query_main').typeahead({
    // Some options
    updater: function(item) {
        // Do something with item
        return item;
    },
    // Other options
});
于 2013-08-05T14:00:44.227 回答