javascript - JQuery 自动完成 - 选择第一项

标签 javascript jquery ruby-on-rails-3 jquery-ui autocomplete

<分区>

我正在使用 jquery 自动完成,我从 ruby​​ on rails 应用程序中填充它,我正在创建一个自定义自动完成,如下所示:

  $.widget( "custom.code_complete", $.ui.autocomplete, {
    _renderMenu: function( ul, items ) {
            var self = this,
                currentCategory = "";
        $ul = ul;
            $.each( items, function( index, item ) {
                if ( item.category != currentCategory ) {
                    ul.append( "<li class='ui-autocomplete-category'>" + item.category + "</li>" );
                    currentCategory = item.category;
                }
                self._renderItem( ul, item );
            });
        }
    });

  $("#r-code").code_complete({
    source: "URL",
    minLength: 2,
    select: function(event, ui) {
      $(".button-row").fadeIn();
      get_details(ui.item.url);
    }
  });

我将用户从另一个页面重定向到具有自动完成表单的页面,URL 中的参数是用于搜索的代码,这里是执行搜索的 JS:

function ac_search(code) {
  $("#r-code").val(code);
  $("#r-code").code_complete('search', code);
}

这完美地执行了搜索并显示了结果的下拉列表。我试图让脚本然后选择列表中的第一个结果。我试过通过选择器来做到这一点:

$(".ui-menu-item:first a").click();

这在自动完成列表中找到了正确的元素,但是当我尝试模拟点击时它给出了这个错误:

TypeError: ui.item is null

是否可以通过编程方式单击自动完成结果列表中的第一项?

干杯

头皮

最佳答案

$( el ).autocomplete({
  autoFocus: true
});

关于javascript - JQuery 自动完成 - 选择第一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8036143/

相关文章:

jquery - 如果不存在,则将 `http://` 添加到字符串中

javascript - 从网页自动安装apk文件

javascript - ngAnimate 动画不显示

javascript - 当我在呈现 View 后设置输入类型的值时,为什么不触发输入类型的更改事件?

ruby-on-rails-3 - Rails 3 & devise_ldap_authenticable : Authorization against Active Directory?

ruby-on-rails - 使用带有 Rails 3 的 Godaddy 邮件的 SMTP 设置

ruby-on-rails-3 - 更新 Mongoid 中的哈希类型属性

javascript - Tslint 升级错误

javascript - 打开多个模态 Materialise CSS

javascript - 如何选择包含具有特定 src 属性的 img 子元素的父元素