How to allow user to select only two checkbox in service catalog

Sachin G K1
Kilo Sage

Hi All,

 

I want to allow user to select only 2 checkbox and other 2 should be readonly.How to achieve this?

SachinGK1_0-1708234287647.png

 

1 ACCEPTED SOLUTION

kamlesh kjmar
Mega Sage
Mega Sage

Hi Sachin,

 

Try the below script, and make sure of below points:

1. If you are having 4 checkboxes, then you need to write 4 onChange client script one for each checkbox. But code in each script will remain the same. Only replace the backend name of checkbox with your's [That's only change needed in the script]. For me this scripts works as per your requirement. In my example I have 5 checkboxes where you can select only 2 checkboxes (any).

 

 

function onChange(control, oldValue, newValue, isLoading) {
   if (isLoading || newValue == '') {
      return;
   }

   var checkBoxes = ["checkbox1", "checkbox2","checkbox3","checkbox4","checkbox5"]; //Replace backend name of all checkboxes
var uncheckedBoxes = [];
var checkedBoxes = [];
checkBoxes.forEach(function(item){
if(g_form.getValue(item) == "false")
uncheckedBoxes.push(item);
else
checkedBoxes.push(item);
})
if(checkedBoxes.length == 2){
uncheckedBoxes.forEach(function(item){
	g_form.setReadOnly(item,true);
});
}
else{
	uncheckedBoxes.forEach(function(item){
	g_form.setReadOnly(item,false);
});
}
   
}

 

 

kamleshkjmar_0-1708252275425.png

 

 

Let me know if this works for you.

 

Please mark my response as Correct if it solves your problem and hit Helpful if this rings the bell.

 

Thanks,

Kamlesh

View solution in original post

16 REPLIES 16

abirakundu23
Mega Sage

Hi @Sachin G K1 ,

Please create catalog UI Policy. Please find below screenshots.

akadu23_0-1708235787941.png

Please try the approach, if it's helpful.

Please mark "Accept Answer" & "Helpful" if it's solved your purpose. 

 

This would make one checkbox readonly, thats not my use case. I want user able to select any of the two checkbox, as soon as they select any 2 checkboxes other checkboxes should become readonly

Hi @Sachin G K1 ,

 

Here you are trying to check control of 4 elements, on change client script can check the change in only one field at once. if this is your requirement you can make use of On submit client script to collectively check all 4 check box using for loop. 

 

If you want to do it using On change client client script you need to create multiple of them... I hope it's clear...

 


☑️ Please mark responses as HELPFUL or ACCEPT SOLUTION to assist future users in finding the right solution....

LinkedIn - Lets Connect

Hi @Sachin G K1 ,

SohailKhilji_0-1708237871084.png

 


☑️ Please mark responses as HELPFUL or ACCEPT SOLUTION to assist future users in finding the right solution....

LinkedIn - Lets Connect