@funcubed4me You will need to adjust this code to account for your various checkbox names that you have and the maximum that you want to allow. Each checkbox will need to have an onChange event within the onReady of the page
$w.onReady(function () {
$w("#checkbox1").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox2").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox3").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox4").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox5").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox6").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox7").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox8").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox9").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
$w("#checkbox10").onChange((event) => {
CheckMaximum("#" + event.target.id)
})
});
export function CheckMaximum(CalledFrom){
let checked = 0;
let pageElements = $w("#page1").children;
// loop through all of the elements on the page
pageElements.forEach((Element) => {
// dealing with only checkboxes
if (Element.type === "$w.Checkbox"){
// increment if checked
checked = (Element.checked)? checked + 1:checked;
// using 5 for maximum check; adjust as needed.
if (checked > 5){
// exceeded max, uncheck checkbox that was just checked
$w(CalledFrom).checked = false;
}
}
})
}