Check box restrictions based on combination
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-22-2024 11:50 PM
Hi Folk,
I have requirement and still i didn't find the correct logic to get this implemented.
Scenario: I have 5 check boxes as below:
1. Laptop
2. Mobile
3. Desktop
4. Printer
5. Mouse
currently user can select all check boxes at a time but i want to let user select only check boxes as per below combination,
1. Mobile
2. Mobile & laptop
3. Mobile & desktop
4. Mouse
5. Mouse &Mobile
6. Printer
7. Printer , Mobile & Desktop
user should not be able to select all combination of check boxes.
Thanks in advance for any help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-23-2024 01:10 AM
Hi @Vijay Baokar,
Please see a reply I made to a post just a few days ago solving to a pretty much similar requirement. The only difference would be restrict this to 1 rather than 3.
Kudos to @Hitoshi Ozawa who has provided a solution to this exact question previously.
Check the below link:
To help others (or for me to help you more directly), please mark this response correct by clicking on Accept as Solution and/or Kudos.
Thanks, Robbie
For future usage and in case of broken links, here's the script courtesy of: @Hitoshi Ozawa
function onSubmit() {
//Set the mandatory checkbox variable names and total mandatory count here
var mandatoryVars = 'checkbox1,checkbox2,checkbox3,checkbox4,checkbox5,checkbox6,checkbox7,checkbox8,checkbox9,checkbox10,checkbox11,checkbox12,checkbox13,checkbox14,checkbox15,checkbox16';
var mandatoryCount = 1; //You can chqange this value to whatever required
var maxCount = 1; //You can chqange this value to whatever required
var passed = forceMandatoryCheckboxes(mandatoryVars, mandatoryCount);
if (!passed) {
//Abort the submit
alert('Please select ' + '1.'); //You can chqange this value to whatever required
return false;
}
function forceMandatoryCheckboxes(mandatory, count) {
mandatory = mandatory.split(',');
var cnt = 0;
for (var i = 0; i < mandatory.length; i++) {
if (g_form.getValue(mandatory[i]) == 'true') {
cnt++;
if (cnt > count) {
return false;
}
}
}
return (cnt == count);
}
}