Client Script - How to Change Dependent Field to '--None--'

Laurie Marlowe1
Kilo Sage

Hello,

We have two fields, T-Shirt Size and Governance.   When T-Shirt Size is set to a size, then the value of the Governance field changes.

For example, I select M-Medium for T-Shirt Size, and Governance changes to team.   This works fine for any T-Shirt Size I choose, except '--None--'.

Capture.JPG

When I change T-Shirt Size to '--None--', I want Governance to be set to '--None--'.

Capture2.JPG

I tried a variety of things, including removing "Dropdown with --None--" from the dictionary entry for both fields, and adding "--None--" as a choice.   This works, but then I cannot set the T-Shirt Size to mandatory, because the "--None--" choice is a valid selection, in this case.

Here is the script.   I also tried if(newValue == '--None--'), and that did not work either.

function onChange(control, oldValue, newValue, isLoading, isTemplate) {

if (isLoading || newValue === '') {

return;

}

if (newValue != oldValue){

if (newValue == ''){

g_form.setValue('u_governance','');

}

if (newValue == 'small'){

g_form.setValue('u_governance','team');

}

if (newValue == 'medium'){

g_form.setValue('u_governance','team');

}

if (newValue =='large'){

g_form.setValue('u_governance','portfolio');

}

if (newValue == 'xlarge'){

g_form.setValue('u_governance','enterprise');

}

if (newValue == 'xxlarge'){

g_form.setValue('u_governance','enterprise');

}

}

return;

}

Thank you in advance,

Laurie

1 ACCEPTED SOLUTION

Reply from email… Try this instead since switch statements are a little easier to read and manage than a bunch of If statatement…



function onChange(control, oldValue, newValue, isLoading, isTemplate) {



if (isLoading) {


return;


}



var govValue = "";


switch (newValue.toString()) {


case '':


govValue = "";


break;


case 'small':


govValue = "team";


break;


case 'medium':


govValue = "portfolio";


break;


case 'large':


govValue = "";


break;


case 'xlarge':


govValue = "enterprise";


break;


case 'xxlarge':


govValue = "enterprise";


break;


}


g_form.setValue('u_governance', govValue);


}


View solution in original post

11 REPLIES 11

SD29
Tera Expert

Hi Laurie,



Have you tried using this in the script ?



if(newValue == ''){


g_form.setValue('u_governance', '--None--');


}



Thanks,


SD


Hi snow123,



I tried your suggestion, and also:



if(newValue == '--None--'){


g_form.setValue('u_governance', '');


}



No luck...


Michael Ritchie
ServiceNow Employee
ServiceNow Employee

Laurie, if you right click on those two choice fields and choose Configure Dictionary, go to the Choice List Specification section and tell me what the Choice value is.   Is it set to Dropdown with --None--?   Then scroll down to the Choices related list, do you have a choice for --None--?   None shouldn't be a valid value and if you set the value to "" it should require it unless you made None a valid value.


Hi Michael,



Both are set to Dropdown with --None--


Neither have a value for '--None--' in the choice list



Capture2.JPG


Capture.JPG