Jquery autocomplete select

Jquery autocomplete select
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
  $('.address_typeahead').autocomplete({
    source: function (query, process) {
        var addressobj = $(this).parent();
        
        return $.get('{{ path('events_users_typeahead') }}', { 'addr': query }, function (data) {
            
               var suggestions = [];
                             
                    //process response
                    $.each(data, function(i, val){                              
                    suggestions.push(val.userNickname);
                });
            
            return process(suggestions);
        });
    },select: function(event, ui) {
           
           alert(ui.item.userNickname);
         
          
        }
});

Kod powyżej odwołuje mi się do funkcji w kontrolerze, która zwraca użytkowników w postaci tablicy. Jak wpisuje jakąś nazwę w textboxie na stronie to ładnie pobiera mi i wyświetla użytkowników o zbliżonej nazwie do podanej, ale teraz chciał bym wyświetlić po jego wybraniu z listy jego nazwę np w alert boxie . Jednak gdy klikam na element na liście wyskakuje alert box z komunikatem "undefinded'. Gdzie leży problem ? Z góry dziękuje za pomoc

  • Rejestracja: dni
  • Ostatnio: dni
1

problem rozwiązany . Autocomplete przymuje label oraz value , przerobiłem query zeby zwracało mi nickname jako label oraz id jako value . Następnie wywaliłem to całe sugestion i w process wsadziłem po prostu zwróconą nie przerabianą tablicę. Potem w select odwołałem się do value

Kopiuj
$('.address_typeahead').autocomplete({
    source: function (query, process) {
        var addressobj = $(this).parent();
        
        return $.get('{{ path('events_users_typeahead') }}', { 'addr': query }, function (data) {
       
            return process(data);
        });
    },select: function(event, ui) {
           console.log(ui.item.value);
         
         
          
        }
}); 

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.