Für manche Veranstaltungen ist es notwendig, die Anzahl der auswählbaren Angebote für Teilnehmende zu begrenzen.
Beispiel: Die Agenda umfasst 20 Programmpunkte, aber die Teilnehmenden dürfen nur 5 davon auswählen.
In einem solchen Fall empfiehlt sich die Nutzung der REGELN ZUR SPERRE VON ANGEBOTSELEMENTEN im Bearbeitungsmodus des REGISTRIERUNGSVORLAGE.
Es gibt jedoch Situationen, in denen diese Sperrregeln nicht ausreichen, weil nur eine numerische Begrenzung erforderlich ist.
In solchen Fällen fügen Sie den folgenden JavaScript-Code im Bereich EINSTELLUNGEN > FÜR ENTWICKLER > custom.js hinzu:
$(document).ready(function() {
const maxSelections = 5;
const $programCols = $('.program-container .program-col');
const $checkboxes = $('.program-container .program-col .row-two .check-wrap .checkbox-program input[type="checkbox"]');
$checkboxes.on('change', updateCheckboxes);
function updateCheckboxes() {
let checkedCount = 0;
$checkboxes.each(function() {
if ($(this).is(':checked')) {
checkedCount++;
}
});
if (checkedCount >= maxSelections) {
$checkboxes.each(function() {
if (!$(this).is(':checked')) {
const $parentDiv = $(this).closest('.program-col');
$parentDiv.css('opacity', '0.5');
$(this).prop('disabled', true);
}
});
} else {
$checkboxes.each(function() {
const $parentDiv = $(this).closest('.program-col');
$parentDiv.css('opacity', '1');
$(this).prop('disabled', false);
});
}
}
});
Nach dem Einfügen des Codes sieht der Bildschirm folgendermaßen aus:
Die Begrenzung lässt sich in der zweiten Zeile ändern: const maxSelections = 5;
Nach dem Speichern testen Sie bitte den Registrierungsprozess mit der Agenda, um sicherzustellen, dass das Skript wie gewünscht funktioniert.