首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式触发typeahead.js结果显示

以编程方式触发typeahead.js结果显示
EN

Stack Overflow用户
提问于 2013-02-27 22:50:32
回答 17查看 38.9K关注 0票数 38

我在一个输入字段上使用了推特的typeahead.js (https://github.com/twitter/typeahead.js/),该输入字段是由查询字符串预先填充的。加载页面后,我希望以编程方式触发typeahead结果的显示,而无需用户在表单域中键入任何内容。

开箱即用,只有当用户在输入字段中手动键入内容,并且我在typeahead.js中找不到任何可以调用来触发结果显示的方法时,才会触发typeahead.js。

如果有任何建议,我们将非常感谢。

谢谢!

EN

回答 17

Stack Overflow用户

回答已采纳

发布于 2013-02-27 23:18:36

触发输入似乎可以做到这一点。

代码语言:javascript
复制
$(".typeahead").eq(0).val("Uni").trigger("input");

example page上对此进行了测试。

票数 51
EN

Stack Overflow用户

发布于 2014-05-14 01:46:46

根据我的测试(请参阅fiddle),要显示dropdown,必须使用focus()方法。所以:

代码语言:javascript
复制
theVal = $('.typeahead').val();
$(".typeahead").typeahead('val', '')
$(".typeahead").focus().typeahead('val',theVal).focus();

  • 在第1行,我们将Typeahead输入的当前值赋给变量theVal;
  • On第2行,我们只需重置typeahead的计算值;
  • 在第3行,我们放回原始值和焦点,这会导致建议下拉菜单显示得好像用户输入了什么。

我实际上需要这样做,以强烈鼓励用户从来自地理编码API调用的猎犬建议中进行选择,这样我就可以确保客户端在提交表单之前获得了坐标。

票数 15
EN

Stack Overflow用户

发布于 2013-11-05 22:35:49

代码语言:javascript
复制
$(".typeahead").typeahead('lookup').focus();

具有现有输入值的触发器。当然,您可以提前更改该值

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15115059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档