Выберите значение полей ввода, созданных с помощью автозаполнения jquery

#jquery #jquery-ui #jquery-autocomplete

#jquery #jquery-пользовательский интерфейс #jquery-автозаполнение

Вопрос:

Итак, у меня есть этот jquery:

     $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C  ",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
        ];
        $( "#tags" ).autocomplete({
            source: availableTags
        });
    });


var $content = "";
$('#tags').keyup(function() {    
     $content =  $('input').attr('value'); 
     $content2 =$('.ui-widget').parent().html();
     $("#placehere").append($content2)

});


$('.ui-widget').parent().css('color', 'red');
  

И этот HTML:

 <div class="demo">
<div class="ui-widget">
    <label for="tags">Tags: </label>
    <input id="tags">
</div>
    <div id="placehere">Click</div>
</div>
  

Я хотел бы, чтобы результаты, которые добавляются к #placehere div, были ТОЛЬКО текстом внутри полей ввода, которые генерируются формой автозаполнения.

В настоящее время он просто копирует HTML всего .parent() в .ui-widget div.

Комментарии:

1. У меня возникли некоторые трудности с пониманием того, что именно вы пытаетесь сделать — вы хотите, чтобы текст выбранного элемента отображался внутри #placehere div при выборе элемента? Кроме того, вы действительно хотите использовать keyup функцию? Это будет срабатывать каждый раз, когда вы нажимаете клавишу.

Ответ №1:

Вы не сможете отозвать активный список автозаполнения с помощью события keyup, потому что ui-autocomplete div еще не создан. Вы можете проверить, указав точку останова в вашем событии ввода. Вы можете обойти это, установив тайм-аут или используя анимированную задержку с обратным вызовом.

Комментарии:

1. хорошо, спасибо. Я просто пытался сделать что-то избыточное