Я не очень хорош в Javascript Framework Я делаю этот проект в Laravel
если потребуется что-нибудь из этого кода, где он звонит, я предоставлю
Я пытаюсь добиться того, чтобы, когда пользователь выбирает из выпадающего списка значение, являющееся продуктом, динамически добавляется строка, которая прекрасно работает.
Теперь эта строка содержит данные о выбранном проекте, его название, описание, цена и количество и сумма, когда он работает впервые.
Затем добавление нового товара в корзину, который также добавляет строку в таблицу, но предыдущая запись товара также заменяется на это значение товара.
Первый выбор изображения продукта
Второе изображение Выбор другого продукта
Там мы идем, мы теряем первый продукт. и изменение продукта, последний продукт, который идет, покрывает всю таблицу со своими данными, а предыдущий исчез
Заметка
Я устанавливаю значение в текстовом поле на основе уникальных классов, которые я назначил.
Код Jquery
$('.ProductClass').delegate('.Product','change', function () {
var inventory = $('.Product').html();
var qty=1;
var n = ($('.neworderbody tr').length - 0) + 1;
var tr = '<tr><td><input type="text" class="inventId form-control" name="inventId[]" readonly></td>' +
'<td ><input type="number" class="qty form-control" name="qty[]" ></td>' +
'<td style="display: none;"><input type="text" class="costprice form-control" name="costprice[]" readonly></td>' +
'<td><input type="text" class="price form-control" name="price[]" readonly></td>' +
'<td><input type="text" class="amount form-control" name="amount[]" readonly></td>' +
'<td><span class="fa fa-trash delete" data-toggle="tooltip" data-original-title="Remove Item" value="x" style="margin-left: 36px;margin-top: 14px;"></span></td></tr>';
$('.neworderbody').append(tr);var tr = $(this).parent().parent();
var inventory = $('.Product option:selected').attr('data-name');
console.log(inventory);
var SalesPrice = $('.Product option:selected').attr('data-price');
var CostPrice = $('.Product option:selected').attr('cost-price');
var description = $('.Product option:selected').attr('data-pro');
$('.inventId').val(inventory);
$('.price').val(SalesPrice);
$('.qty').val(qty);
var qty = tr.find('.qty').val() - 0;
var price = tr.find('.price').val() - 0;
var total=qty*price;
tr.find('.amount').val(total);
//console.log(qty+"--------"+price);
});
Большое спасибо за помощь
Спасибо всем за вопрос
Я нашел решение для встраивания значения в текстовое поле, так что я просто взял значение переменных, а затем присвоил значение конкретному текстовому полю в таблице.
Отлично работает
Если у кого есть хорошее решение, поделитесь пожалуйста
Код
$('.ProductClass').delegate('.Product','change', function () {
var inventory = $('.Product').html();
var qty=1;
var inventory=null;
var n = ($('.neworderbody tr').length - 0) + 1;
n=1;
var inventory = $('.Product option:selected').attr('data-name');
//onsole.log(inventory);
var SalesPrice = $('.Product option:selected').attr('data-price');
var CostPrice = $('.Product option:selected').attr('cost-price');
var description = $('.Product option:selected').attr('data-pro');
var total=qty*SalesPrice;
var tr = '<tr id="row">' +
'<td><input type="text" class="inventId form-control" value='+inventory+' name="inventId[]" readonly /></td>'+
'<td > <input type="number" class="qty form-control" value='+qty+' name="qty[]" > </td>' +
'<td style="display: none;"><input type="text" class="costprice form-control" name="costprice[]" value='+CostPrice+' readonly></td>' +
'<td><input type="text" class="price form-control" name="price[]" value='+SalesPrice+' readonly></td>' +
'<td><input type="text" class="amount form-control" name="amount[]" value='+total+' readonly></td>' +
'<td><span class="fa fa-trash delete" data-toggle="tooltip" data-original-title="Remove Item" value="x" style="margin-left: 36px;margin-top: 14px;"></span></td>' +
'</tr>';
$('.neworderbody').append(tr);
});
Других решений пока нет …