у меня есть небольшая проблема, я думаю, я не могу найти ошибку …
У меня есть простая форма, которая использует автозаполнение, чтобы найти вещи в базе данных, это работает только для поля ввода FIRST (по умолчанию).
То, что я хочу сделать, это «повторно инициализировать» автозаполнение на добавленных входных данных, но кажется, что я не могу управлять этим, и я попробовал Google все это … (многие могут сказать, что :)).
Это JS-часть.
$(function() {
var i=0;
var autocomp_opt={
source: "functions.php",
minLength: 3,
}
$(".itemname").on("keydown.autocomplete", function() { // this one works
$(this).autocomplete(autocomp_opt);
});
$(".itemname["+i+"]").on("keydown.autocomplete", function(){ // doesnt work
$(this).autocomplete(autocomp_opt);
});
$(".addfield").click(function(e){ //on add input button click
i++;
e.preventDefault();
$("#createList").append('<br /><input type="text" name="itemname['+i+']" class="itemname['+i+']" placeholder="Livsmedel" />');//add input box
});
});
и вот форма:
<form method="post" id="createList" action="create.php" class="pure-form" >
<input type="text" name="itemname[0]" class="itemname" placeholder="Livsmedel" />
<input type="text" name="amount" style="display:none" class="amount" placeholder="">
<input type="text" name="unit" class="unit" />
<button type="button" class="addfield" />+</button>
<button type="submit" class="pure-button pure-button-primary" name="insert">Lägg in</button>
</form>
Ошибка должна быть довольно простой, но я не могу ее найти 🙁
Рад, что ссылка помогла. Я тоже работал над решением. Кажется, ты рядом, но потому что i
не увеличивается, ваша вторая функция (не работающая) не работает.
У меня это работает здесь: http://jsfiddle.net/gd7qke4v/2/
То, что я сделал, было настроить ваши основные autocomplete
к этому:
$(document).on("keydown", ".itemname", function () {
//$(this).autocomplete(autocomp_opt);
$(this).nextAll('input[name="unit"]').val('query result'); // here instead of val, use your autocomplete().
});
который связывает autocomplete
к документу, ищет .itemname
быть активным / keydown, затем находит следующий ввод с именем unit
, Просто замените .val
с вашим .autocomplete(autocomp_opt)
и это должно быть установлено.
Других решений пока нет …