Я использую typeahead.js
У меня есть таблица из одной строки с двумя входами (Код и Продукт), последний ввод с typeahead, и как только я выбираю опцию typeahead, он также заполняет ввод кода.
Эти два входа изначально загружаются на страницу. И затем другие добавляются по запросу пользователя, нажав кнопку, которая добавляет новую строку с теми же двумя входами (другое имя).
У меня есть JS-переменная (число = 0) для управления добавленными динамическими входами, которая увеличивается при нажатии кнопки добавления строки, и каждый раз, когда я нажимаю кнопку добавления строки, я вызываю функцию typeahead.
HTML код:
<td>
<input type="text" name="code_product_0" id="code_product_0">
</td>
<td>
<input type="text" name="product_0" id="product_0">
</td>
<a class="btn" href='javascript:addRow(); typeahead();' id="btn-new-product"> Add Product</a>
Это код addRow:
function addRow() {
number++;
$('#table').append(
"<tr>" +
"<td><input name='code_product_"+number+"' id='code_product_"+number+"' type='text' class='form-control'></td>" +
"<td><input class='typeahead form-control' type='text' name='product_"+number+"' id='product_"+number+"'></td>" +
"</tr>");
}
Это код заголовка:
$('#product_'+number).typeahead(null, {
name: '#product_'+number,
displayKey: 'name',
source: custom.ttAdapter()
}).on('typeahead:selected', function(event, data){
$('#product_'+number).val(data.name);
$('#code_product_'+number).val(data.code);
});
Проблема здесь в том, что когда у меня есть 2 или более строк, какой бы ввод продукта я не хотел менять (кроме последнего), ввод продукта корректно меняется, но он заполняет ввод кода последней строки, а не той, которую я изменение