Есть несколько проблем с тем, как ваш код в настоящее время работает.
Сначала вы добавляете значения ваших флажков в массив wybraneProdukty
, когда они отмечены, но вы не удаляете их когда они не отмечены. Таким образом, ваша проблема с дубликатами также может возникнуть, когда кто-то проверяет, снимает отметки, а затем повторно проверяет элемент.
Из того, что я вижу в вашем примере кода, я думаю, что вы можете полностью исключить массив wybraneProdukty
и просто работайте со значениями входных данных.
Итак, в обработчике нажатия кнопки, где у вас есть:
jQuery.each(wybraneProdukty, function(i, val) {
$('#podsumowanie-produkty').append('<span>' + val + '</span></br>');
});
Измените это на что-то вроде:
$('input.produkty').each(function(i, item) {
if ($(item).is(':checked')) {
$('#podsumowanie-produkty').append('<span>' + $(item).val() + '</span></br>');
}
});