Есть таблица динамическая по нажатию добавляются поля.
Первое поле сделано 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 то и записывались ту да же.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости