У меня есть следующие функции:Ручка стрельбы несколько раз
function isAdded(el){
if(!$(el).closest('tr').hasClass('cloned')){
$(el).closest('tr').addClass('cloned');
var row_variant_index = $("#items tbody tr.variant").index($(el).closest('tr'));
$(el).closest('tr').attr('data-index',row_variant_index);
var clone = $(el).closest('tr').clone(true);
clone.find('button').remove();
clone.find('td').last().prepend("<button name='delete'>x</button>"," ","<button name='decrement'>-</button>").append("<button name='increment'>+</button>");
clone.appendTo('#cloned-items tbody');
}
}
function handleButton(el){
var input_box = $(el).siblings('input');
switch ($(el).attr('name')){
case 'decrement':
if(parseInt($(input_box).val()) > 0){
$(input_box).val(parseInt($(input_box).val() - 1));
}
break;
case 'increment':
$(input_box).val(parseInt($(input_box).val() + 1));
break;
}
}
Эти функции, используемые в этой ручке:
$("button[name='addItem']").click(function(){
if (!$(this).siblings('input').val().match(/\d+/)){
alert("You can only type numbers!");
return;
}
isAdded(this);
$("#cloned-items tbody").on('click',"button",function(){handleButton(this)});
});
Моя проблема заключается в том, что если добавить больше чем 1 клонированный элемент, в кнопка начинает добавление или вычитание n + 1 раз (если у меня есть 2 клона, это будет добавление или вычитание 2, если у меня 3, это добавит или вычтен 3 и так далее).
Может ли кто-нибудь сказать мне, что я делаю неправильно?
Быстрая скрипка была бы полезна. – theblindprophet