Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Select first jquery UI result automatically

I am using jQuery Autocomplete to search a local database of cities. Here is the code:

$('#txt_search_city').autocomplete({
    source: url,
    delay: 0,
    autoFocus: true,
    select: function( event, ui ) {
        $( "#id_city" ).val( ui.item.id );
        $(this).closest('form').submit();
    },
    focus: function( event, ui ) { event.preventDefault(); }
});

I'd like the first returned value to be selected by default (like it works on facebook). So essentially, if they just hit enter they will trigger the selection of the first result.

I thought that's what autoFocus: true did, but it isn't working. Not showing errors, just not selecting the first result.

Thoughts?

like image 299
Brenden Avatar asked Feb 11 '12 19:02

Brenden


2 Answers

Autofocus will highlight the first record..

Your code would then just need to include autoFocus: true, like below:

$('#txt_search_city').autocomplete({
    source: url,
    delay: 0,
    autoFocus: true,
    select: function( event, ui ) {
        $( "#id_city" ).val( ui.item.id );
        $(this).closest('form').submit();
    },
    focus: function( event, ui ) { event.preventDefault(); }
});
like image 168
Rick Burns Avatar answered Oct 16 '22 03:10

Rick Burns


This seems to be outdated. I had the same problem. Just use .autocomplete({autoFocus: true}) I'm using jquery-ui-1.10.0.min and it works now. No plug is needed.

like image 42
dorr Baume Avatar answered Oct 16 '22 02:10

dorr Baume