Checkout: copy answers from previous item instead of first (#Z23112272)

This commit is contained in:
Richard Schreiber
2022-12-07 09:24:24 +01:00
committed by GitHub
parent 04df1c2032
commit 3eaf05502a

View File

@@ -287,14 +287,14 @@ $(function () {
$(".js-copy-answers").click(function (e) { $(".js-copy-answers").click(function (e) {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
let idx = $(this).data('id'); var idx = $(this).data('id');
const addonDivs = $('div[data-idx="' + idx +'"]') var addonDivs = $('div[data-idx="' + idx +'"]');
addonDivs.each(function (index) { addonDivs.each(function (index) {
const elements = $(this).find('input, select, textarea'); var elements = $(this).find('input, select, textarea');
const addonIdx = $(this).attr("data-addonidx"); var addonIdx = $(this).attr("data-addonidx");
const answersDiv = $('div[data-idx="0"][data-addonidx="' + addonIdx + '"]'); var answersDiv = $('div[data-idx="' + (idx - 1) + '"][data-addonidx="' + addonIdx + '"]');
const answers = answersDiv.find('input, select, textarea'); var answers = answersDiv.find('input, select, textarea');
copy_answers(elements, answers); copy_answers(elements, answers);
}) })
@@ -303,11 +303,11 @@ $(function () {
$(".js-copy-answers-addon").click(function (e) { $(".js-copy-answers-addon").click(function (e) {
e.preventDefault(); e.preventDefault();
e.stopPropagation(); e.stopPropagation();
const id = $(this).data('id'); var id = $(this).data('id');
const addonId = $(this).data('addonid'); var addonId = $(this).data('addonid');
const addonDiv = $('div[data-idx="' + id +'"][data-addonidx="' + addonId + '"]'); var addonDiv = $('div[data-idx="' + id +'"][data-addonidx="' + addonId + '"]');
const elements = addonDiv.find('input, select, textarea'); var elements = addonDiv.find('input, select, textarea');
const answers = $('*[data-idx="' + id + '"] input, *[data-idx="' + id + '"] select, *[data-idx="' + id + '"] textarea'); var answers = $('[data-idx="' + id + '"][data-addonidx="' + (addonId - 1) + '"] input, [data-idx="' + id + '"][data-addonidx="' + (addonId - 1) + '"] select, [data-idx="' + id + '"][data-addonidx="' + (addonId - 1) + '"] textarea').reverse();
copy_answers(elements, answers); copy_answers(elements, answers);
return false; return false;
}); });
@@ -711,6 +711,8 @@ function copy_answers(elements, answers) {
input.prop("checked", answers.filter("[name$=" + suffix + "]").prop("checked")); input.prop("checked", answers.filter("[name$=" + suffix + "]").prop("checked"));
} }
break; break;
case "file":
break
default: default:
input.val(answers.filter("[name$=" + suffix + "]").val()); input.val(answers.filter("[name$=" + suffix + "]").val());
} }