Всем привет!
Есть код:
$('tr i#delete-product').click(function(event) {
Idproducttr = event.target.closest("tr").getAttribute('data-shopcode');
var html;
$('#testConfirm').addClass('simple-dialog active');
html = '<div class="simple-dialog-content">';
html += '<div class="simple-dialog-header"><h3 class="title">Подтвердите</h3></div>';
html += '<div class="simple-dialog-body"><p class="message">Удалить</p></div>';
html += '<div class="simple-dialog-footer clearfix"><button class="simple-dialog-button accept" data-action="submit">ОК</button><button class="simple-dialog-button cancel" data-action="submit">Нет</button></div>';
html += '</div>';
$('#testConfirm').html(html);
$(document).on('click', 'button[data-action="submit"]', function(e) {
// e.preventDefault();
$(this).parents('.simple-dialog').removeClass('active');
if($(this).hasClass('accept')) {
event.target.closest("tr").remove();
console.log(Idproducttr);
}
if($(this).hasClass('cancel')) {
console.log('cancel');
}
});
});
Он удаляет строку из таблицы с товарами заказа.
Суть в том что при повторном нажатии на иконку удалить, он возвращает данные предшествующего элемента, а при третьем нажатии данные двух предыдущих. Т.е. создается массив с данными как я понял. Как сделать чтобы при повторном нажатии удалялась нужная строки и возвращались данные только той строки в которой была нажата кнопка удалить?
HTML строки таблицы:
<tr data-shopcode="TS62969">
<td class="text-push">TS62969</td>
<td>Прямой терморегулирующий вентиль 1/2" ВР (арт. FT 1640 12)</td>
<td class="text-push product-qty" data-type="product_qty" id="edit-data">2</td>
<td class="text-center">шт</td>
<td class="text-push" nowrap=""><span class="product-price">883</span> руб.</td>
<td class="text-push" nowrap=""><span class="ammount-products-price">1766</span> руб.</td>
<td class="action edit"><i class="fa fa-pencil-square fa-2x" aria-hidden="true"></i></td>
<td class="text-center"><i class="fa fa-trash-o fa-2x" aria-hidden="true" id="delete-product"></i></td>
</tr>