Dla każdego, kto czyta ten w 2016 roku i później, nie ma lepszego sposobu, za pomocą wzoru request/response
. Autocomplete jQuery ma opcję source
, która akceptuje funkcję, która otrzyma dwa argumenty po wywołaniu przez wtyczkę: request
i response
. request
to obiekt zawierający informacje o składniku autouzupełniania, a mianowicie request.term
, który jest wartością pola wejściowego. response
jest funkcją, akceptującą pojedynczy parametr, zwrócone dane response(data)
. jak widać w moim przykładzie poniżej, możesz użyć tej opcji, aby ułatwić żądanie ajax. można po prostu przekazać funkcję request
jako metodę oddzwaniania powodzenia do metod jQuery $.ajax
i będzie działać zgodnie z przeznaczeniem. możesz również robić inne fajne rzeczy za pomocą tego wzorca, np. wyszukiwanie w pamięci, jeśli już pobrano i zapisano w pamięci podręcznej niektóre dane, dzięki czemu kolejne wyszukiwania będą bardziej rzeczywiste dla użytkowników.
$('#term-search').autocomplete({
source: function(request, response) {
$.ajax({
url: $('#api-endpoint').val(),//whether you are using radios, checkboxes, or selects, you can change the endpoint at runtime automatically
dataType: "json",
data: {
query : request.term,//the value of the input is here
language : $('#lang-type').val(), //you can even add extra parameters
token : $('#csrf_token').val()
},
success: response //response is a callable accepting data parameter. no reason to wrap in anonymous function.
});
},
minLength: 1,
cacheLength: 0,
select: function(event, ui) {} //do something with the selected option. refer to jquery ui autocomplete docs for more info
});
są '' i 'availabletags1 availabletags2' tablice –
także to, co jest' 'i' Choice1 choice2' –
Sry, ja zakładać niewłaściwy link na jsfiddle, teraz powinno być OK. –