Функциональность автозаполнения jQuery — не уверен, как получить текущий текст в поле

#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 )