Значения в динамическую таблицу js

273
19 октября 2018, 04:00

Есть таблица динамическая по нажатию добавляются поля. Первое поле сделано autocomplete после выбора все остальные поля заполняются. Все нормально когда добавляешь по одному полю а если добавить сразу несколько то с первого поля ответ попадает в последнюю добавленную строку.

 $("#add_row").click(function(){
            $('.addr'+i).html("<td><input name='model[]'  class='vendor_code form-control model"+(i+1)+"' type='text'></td>" +
                "<td class='text-center'><img class='img"+(i+1)+"'></td>" +
                "<td><div style='display:flex' class='card input-group'><label class='switch'><input type='checkbox' class='primary checkbox_quantity"+(i+1)+"'><span class='slider round'></span></label><input name='quantity[]' style='width: 50%; margin-left: 10%' onkeyup=\"document.getElementById('q"+(i+1)+"').value = this.value\" class='form-control quantity"+(i+1)+"' type='text'></div></td>" +
                "<td><input name='price[]' type='text' class='price"+(i+1)+" form-control'></td>" +
                "<td><div style='display:flex' class='card input-group'><label class='switch'><input type='checkbox' class='primary checkbox"+(i+1)+"'><span class='slider round'></span></label><input style='width: 50%; margin-left: 10%' name='provider_quantity[]' id='q"+(i+1)+"' class='form-control provider_quantity"+(i+1)+"' type='text'></div></td>" +
                "<td class='text-center'><a id='delete_row' class='minus button btn btn-danger'><?php echo $button_remove; ?></a></td></td>");
            $('.addr'+i).find('.vendor_code').autocomplete({ source:model,
                minLength: 3,
                delay: 1000,
                select: function(event, ui) {
                    var model  = ui.item.value;
                    var name_provider = $('#name_provider').val();
                    if (model != '') {
                        $('#submit').removeAttr('disabled');
                    }else{
                        $('#submit').attr('disabled','disable');
                    }
                    $.ajax({
                        type: 'POST',
                        url: 'index.php?route=stock/stock/autoCompletePrice&token=<?php echo $token; ?>',
                        data:{
                            "model":model,
                            "name_provider":name_provider
                        },
                        success: function(data){
                            $("input.price"+i).val(data);
                        }
                    });

Так наверно происходит из-за того что js видит последний класс в ответе Например

<input name='model[]'  class='vendor_code form-control model2' type='text'></td>

class=model2 а если несколько строк добавить то class = model3 и ответ он видит что это clas = model3 $("input.model"3).val(data); можно что бы js видел если данные отправлялись c class=model2 то и записывались ту да же.

READ ALSO
Динамическое размещение текста в тег в HTML

Динамическое размещение текста в тег в HTML

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

294
Отобразить текст по центру в Google Charts Timeline

Отобразить текст по центру в Google Charts Timeline

Мне нужно отобразить текст по центру в Google Charts Timeline

204
Не выводится элемент массива

Не выводится элемент массива

Пробую вывести один из элементов массива (первый), в итоге ничего не выводитсяКод:

191
Основной цикл в Javascript-машине

Основной цикл в Javascript-машине

Был мне озвучен данный вопрос, но не смог найти нигде на него ответа,гугл просто находить информацию по циклам

214