如何使用twitter的typeahead实际提交数据

时间:2013-08-05 12:53:00

标签: html twitter-bootstrap typeahead typeahead.js

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

<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>

有什么想法吗?感谢。

2 个答案:

答案 0 :(得分:4)

您应该在表单中提供至少一个<input type="submit" />,以便在按回车时提交表单。

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

答案 1 :(得分:2)

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

如果您想对所选项目执行更复杂的操作,可以在bootstrap的预先输入中使用updater选项。

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

$('#query_main').typeahead({
    // Some options
    updater: function(item) {
        // Do something with item
        return item;
    },
    // Other options
});