JQuery AutoComplete,手动选择第一个搜索项并绑定点击

Gio*_*rgi 8 javascript jquery jquery-autocomplete jquery-ui-autocomplete

我想手动选择自动填充中的项目,并在给定值的情况下单击它.

以下代码:

autocompleteitem.autocomplete("option", "autoFocus", true).autocomplete("search", autocompleteitem.val());
Run Code Online (Sandbox Code Playgroud)

autocompleteitem是一个输入对象,它包含我想要搜索的值.现在,此代码成功从下拉列表中选择第一个项目,但它没有单击它.我不想自己点击它我希望它以某种方式在该代码中发生.

我尝试了上面代码的以下添加功能:

   .click(), .select(), .trigger('select'), .find('a').click(), .change()
Run Code Online (Sandbox Code Playgroud)

有什么方法可以做到吗?

谢谢

请有人帮忙

Run*_*sen 32

如果你看一下jQuery团队在自动完成的单元测试中的表现方式,他们会使用类似于以下代码的东西:

    var downKeyEvent = $.Event("keydown");
    downKeyEvent.keyCode = $.ui.keyCode.DOWN;  // event for pressing "down" key

    var enterKeyEvent = $.Event("keydown");
    enterKeyEvent.keyCode = $.ui.keyCode.ENTER;  // event for pressing "enter" key

    $("#autoComplete").val("item"); // enter text to trigger autocomplete
    $("#autoComplete").trigger(downKeyEvent);  // First downkey invokes search
    $("#autoComplete").trigger(downKeyEvent);  // Second downkey highlights first item
    $("#autoComplete").trigger(enterKeyEvent); // Enter key selects highlighted item 
Run Code Online (Sandbox Code Playgroud)

这个插件显示它工作

  • 我想要注意的是我使用的是combobox jquery插件(使用自动完成),它要求我在触发ENTER之前触发DOWN键两次 (5认同)
  • 我还发现必须按两次DOWN键然后按ENTER键. (2认同)

Ama*_*mar -1

看一下jqFAQ.com主题,这将帮助您以编程方式选择值的第一个匹配选项并将其设置到自动完成文本框中。还有一些其他与自动完成相关的常见问题解答,我认为这可能对您有用。