【问题标题】:How do I have jQuery's autocomplete plugin display its dropdown list upon page load?如何让 jQuery 的自动完成插件在页面加载时显示其下拉列表?
【发布时间】:2009-12-01 02:18:58
【问题描述】:

http://community.sciencecareers.org/mt-static/plugins/CommunityPlus/js/autocomplete/ http://community.sciencecareers.org/mt-static/plugins/CommunityPlus/js/autocomplete/demo/

尝试以编程方式触发自动完成列表结果的显示。这样,而不是等待用户输入。

这可行吗? (我尝试过获取元素的焦点,调用 Javascript 向下箭头键事件。没有骰子)

【问题讨论】:

  • 呃,你为什么要这样?所以用户可以在输入任何内容之前查看列表来决定选择什么?
  • jquery ui 有特定含义--jqueryui.com--,我觉得可以去掉那个标签。
  • o.k.w:是的,回复:“所以用户可以在输入任何内容之前查看列表来决定选择什么?”

标签: jquery jquery-plugins autocomplete


【解决方案1】:

当且仅当您使用 jQuery 1.3 或更高版本时,您可以创建 jQuery.Event 对象,然后创建 trigger() 它。只有当元素也被聚焦时,我才能让它工作。因此,此代码适用于 the demo page 上的“电子邮件(本地):”示例。

var e = jQuery.Event("keydown");
e.which = 40;
$('#suggest13').trigger('focus').attr('value',' ').trigger(e);

我不确定您的具体情况是什么,我认为这在某种程度上取决于自动完成功能是否会在仅按下空格时实际显示某些内容。情况并非总是如此。

【讨论】:

  • 是的,我已经遇到过。一样的谢谢!不幸的是,我暂时坚持使用 jQuery 1.2.6。
  • which = 13 或 keyCode = 13 与这种用法的输入键相同吗?
【解决方案2】:

那么这个呢? $("#autocompleteid").autocomplete("search")

【讨论】:

  • 调用search 对我来说似乎会导致自动完成下拉菜单在选择值时不会关闭。
  • 它基于这里的事件:jqueryui.com/demos/autocomplete/#events。不知道你的行为是我的代码还是你的代码造成的,各方面看一下链接。我认为您可以结合选择和关闭功能。
【解决方案3】:
$("#mainCombo_input").trigger('keydown.autocomplete');  will open the autocomplete div   and also to display the dropdown.

你也可以使用

$("#mainCombo_input").val("Item1");    
$("#mainCombo_input").trigger('keydown.autocomplete'); to open div with on

【讨论】:

  • 这似乎只在第一次单击按钮时起作用。
  • 这里的第一个选项,触发keydown.autocomplete 效果很好!
【解决方案4】:

根据documentation,您可以触发搜索(在其他答案中也提到过)。由于您的案例正在页面加载,并且输入字段中可能没有任何数据,您需要更改 minLength 才能运行空搜索:

$yourInputField.autocomplete('option', 'minLength', 0);
$yourInputField.autocomplete('search', ""); 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-06
    • 2012-06-09
    • 2015-10-15
    相关资源
    最近更新 更多