Zrobiłem dynamiczne dodawanie pól w formularzu (dokładnie klonowanie jego części) lecz mam problem: nie można usunąć dynamicznie dodanych elementów. Jeśli elementy zostaną utworzone statycznie (z pętli) to usuwanie działa ok.
Kod JS:
jQuery(document).ready(function($){ $('.btnAdd').click(function() { var num = $('.cloned').length; var newNum = new Number(num + 1); var newElem = $('#duplicate' + num).clone().attr('id', 'duplicate' + newNum); $('#duplicate' + num).after(newElem); $('#duplicate' + newNum + ' select.fv_type').attr("id","fv_type"+newNum).val("1"); $('#duplicate' + newNum + ' label.fv_type').attr("for","fv_type"+newNum); $('#duplicate' + newNum + ' input.fv_item').attr("id","fv_item"+newNum).val(""); $('#duplicate' + newNum + ' label.fv_item').attr("for","fv_item"+newNum); $('#duplicate' + newNum + ' input.fv_price').attr("id","fv_price"+newNum).val(""); $('#duplicate' + newNum + ' label.fv_price').attr("for","fv_price"+newNum); $('#duplicate' + newNum + ' .btnDel').attr("id",newNum); $('.btnDel').css('display','inline'); if (newNum == 5) $('.btnAdd').css('display','none'); }); $('.btnDel').click(function() { var num = $('.cloned').length; var del = $(this).attr("id"); $('#duplicate' + del).remove(); $('.btnAdd').css('display','inline'); if (num-1 == 1) $('.btnDel').css('display','none'); }); });
Kod HTML w połączeniu z OPT:
{$items_data.id} domyślnie przyjmuje wartość 1 i w pętli jest kolejno zwiększane.
Z góry dziękuję za pomoc.