2011-11-07 26 views
5

estoy usando autocompletar jQuery que estoy poblando de un rubí en la aplicación rieles y estoy creando un autcomplete encargo de este modo:jQuery autocompletado - Seleccionar el primer elemento

$.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); 
    } 
    }); 

estoy a redirigir a un usuario de otra página para la página con el formulario de autocompletar con un parámetro en la URL, que es un código utilizado para la búsqueda, aquí es la JS para hacer la búsqueda:

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

Este realiza la búsqueda perfectamente y muestra la lista desplegable de los resultados de abajo . Estoy tratando de tener el guion y luego selecciono el primer resultado en la lista. He tratado de hacerlo a través de un selector:

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

Esto encuentra el elemento correcto en la lista de autocompletar pero cuando intento y simular un clic se da este error:

TypeError: ui.item is null 

¿Es posible mediante programación haga clic en el primer elemento en la lista de resultados de autocompletar?

Saludos

Eef

Respuesta

15

uso de enfoque automático: verdaderos

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

que realmente no necesitan esta extensión cuando se puede establecer la opción de enfoque automático como verdadero. – Ziad

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