javascript — автозаполнение в добавленных полях

Я пытаюсь сделать автозаполнение в добавленном поле. Пример:

  1. Я добавляю динамические поля в форму, нажимая ссылку с id = «add_field»

    var counter = 0;
    $(function(){
    $('a#add_field').click(function(){
    counter += 1;
    $('#container').append(
    '<input id="field_' + counter + '" name="dynfields[]' + '" class="name" type="text" /><br />' );
    });
    });
    
  2. сделать автозаполнение поля

    $(document).ready(function(){
    $("input[class=name]").autocomplete({
    source:'searches/product_autocomplete.php',
    minLength:2
    });
    });
    

Однако это не делает автозаполнение.
Я пробовал это в статическом поле с class = «name», и это работает. Но это не работает в динамических полях.

0

Решение

Вы можете прикрепить автозаполнение к новому элементу при его создании:

    $(document).ready(function () {
var counter = 0;
$('#add_field').click(function () {
counter += 1;
$('<input id="field_' + counter + '" name="dynfields[]' + '" class="name" type="text" /><br />')
.appendTo($('#container'))
.autocomplete({
source: 'searches/product_autocomplete.php',
minLength: 2
});
});
});
1

Другие решения

Если вы добавляете динамический HTML, он не загружается в DOM при загрузке страницы. Вам может понадобиться прикрепить событие после загрузки страницы.

пытаться:

var counter = 0;
$(function(){
$("#dataTable tbody" )on('click', 'tr', function()
{
counter += 1;
$('#container').append(
'<input id="field_' + counter + '" name="dynfields[]' + '" class="name" type="text" />
<br />' );
});  });
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector