#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. хорошо, спасибо. Я просто пытался сделать что-то избыточное