How to disable question choices in multiple choice variables?

johnnyw
Mega Expert

I've been searching the community and can't find the answer on Helsinki.

I want to disable one of the values in the "Question Choices" from a Multiple Choice variable on a catalog item since it is no longer a valid option.   I would have thought that there would be an "Active" flag on the question choices to uncheck but that does not exist.   So what are my options for disabling one of the choices without deleting the option?   Deleting the option would remove the value all together, even on the RITM's that were previously submitted with this option selected.   So in order to not lose history, I would rather not delete the option.

I previously used an onLoad script like this to hide question choices, but since upgrading to Helsinki from Fuji, this script is no longer working.

(I am on Helsinki Patch 9 and using the Service Portal to access my service catalog.)

find_real_file.png

Any best practices for accomplishing this?

Thanks

15 REPLIES 15

Not sure how this might work with other variable types, but for a List Collector, you can set the List Table to question_choice and then set the Reference Qual to 

question=7...d^u_active=true^

And it will filter out the inactive choices if you've set up the u_active field like @Chuck Tomasi suggested.

johnnyw
Mega Expert

Clarification.. We are not using Service Portal.   We are still using the CMS site.



Also - I tried g_form.removeOption() and g_form.clearOption() and it doesn't work.   I don't think these work for Multiple Choice variables.


Aaron Munoz
Tera Guru

The workaround in this thread might be helpful:



g_form removeOption does not work on catalog variable


I believe that workaround does not work for Multiple Choice variables.


Prashant Rakesh
Kilo Contributor

It seems an old post, but anyone wants to hide a radio button. You can try onChange client script:

function onChange(control, oldValue, newValue, isLoading) {
if(!isLoading)

{
var x = document.getElementsByClassName('sc-radio');
x[1].style.display='none';
}
else
{
var y = document.getElementsByClassName('sc-radio');
y[1].style.display='none';
}

}

 

It will hide the choice onload and onchange both..