Как обрабатывать динамические вводы с typeahead? - PullRequest
0 голосов
/ 11 сентября 2018

Я использую 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 или более строк, какой бы ввод продукта я не хотел менять (кроме последнего), ввод продукта корректно меняется, но он заполняет ввод кода последней строки, а не той, которую я изменение

...