#jquery #jquery-autocomplete
#jquery #jquery-автозаполнение
Вопрос:
В настоящее время у меня есть что-то подобное в моем коде автозаполнения jQuery:
$("input#autocomplete").autocomplete({
source: "/problems/get_categories_ajax.php?category=" $(this).data("autocomplete", ui.item.autocomplete),
delay: 0,
minLength: 0,
autoFocus: true,
select: function (event, ui) {
$("#user_id").val(ui.item.id);
$(this).data("user_id",ui.item.id);//Store arbitrary data associated with the specified element
$(this).data("username",ui.item.value);//Store arbitrary data associated with the specified element
},
selectFirst: true,
autoFill: true,
mustMatch: true
})
.bind("blur",function() {
var autocomplete = $(this).data("autocomplete");
$(this).val(autocomplete);
$("#autocomplete").val(autocomplete);
});
но я получаю сообщение об ошибке, что я не могу использовать переменную пользовательского интерфейса при попытке создать вызов AJAX здесь: источник: «/problems/get_categories_ajax.php?category=» $(this).data(«автозаполнение», ui.item.autocomplete),
Как я могу получить значение из формы для передачи туда?
Спасибо!
Комментарии:
1.
$(this).data("autocomplete", ui.item.autocomplete)
устанавливает значение data =autocomplete, оно не извлекает его2. Я вижу. Я просто работаю с примером, который я не до конца понимаю. Надеялся получить здесь некоторые указания о том, как настроить подобные вещи, чтобы заставить их работать.
Ответ №1:
Вам не нужно добавлять его вручную в качестве параметра. Он будет автоматически добавлен как term
.
Если вам нужно указать другое имя параметра, вам следует объявить пользовательскую source
функцию:
$( "#city" ).autocomplete({
source: function( request, response ) {
$.ajax({
url: "http://gd.geobytes.com/AutoCompleteCity",
dataType: "jsonp",
data: {
q: request.term
},
success: function( data ) {
response( data );
}
});
}
});
(Источник: http://jqueryui.com/autocomplete/#remote-jsonp )