Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to set variable based on another variable field values on catalog item through on change client script

Chaitanya Redd1
Tera Guru

Hello Team,

I'm trying to set field values based on another field value.

I have created three variables on catalog item.

company, department & approval group. Approval group is hidden on all forms.

In company i'm having two choices Apple & Google. If I select apple based on that department values will be there in that i'm having choice based on that approval group is coming but here I need help.

Example :

If I select apple in company and service desk in department then based on that approval group is coming but when i'm trying to change field values on company or department approval group values are not getting changed. How to clear old value and add new value. 

I have tried Ui policy and on change client script but both didn't worked. It's clearing the value but it's not showing new value on the filed

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

g_form.clearValue('approval_group');

 

Thanks,

JRY

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

in this case you will require to write onchange on company and department to clear out the Approval Group when either of those 2 variables are cleared or changed

1) onchange on company -> clear approval group when company is cleared out or company is changed

2) onchange on department -> clear approval group when department is cleared out or department is changed

Regards
Ankur

 

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

View solution in original post

18 REPLIES 18

Mohammad Danis1
Giga Guru

Hi,

You must have 3 OnChange Client Scripts for each variable.

1. Onchange of Company
2. OnChange of Department
3. OnChange Of Site 

function pullAttributes(req) {
 if (newValue != '') {
  alert("Not empty");
  g_form.setValue('company', req.company);// Here I made the correction
  g_form.setValue('department', req.department);
  g_form.setValue('site', req.site);
  g_form.setValue('approval_group', req.approval_group);
 }
 else {
  alert("Empty");
  g_form.clearValue('company'); // Did Correction 
  g_form.clearValue('department');
  g_form.clearValue('site');
  g_form.clearValue('approval_group');
 }
}


Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy.

Let me know if stuck somewhere.

Kind Regards,
Mohammad Danish

Chaitanya Redd1
Tera Guru

Hello Team,

Thanks for all your help I have tried by creating three different OnChange client scripts which worked for me. Because of your help only I made it out Thanks once gain.

 

Thanks,

JRY

Glad that it helped !!

Please mark appropriate answer as Correct & 👍Helpful.

Thank you!!

Kind Regards,
Mohammad Danish

Glad that it helped !!

Kind Regards,
Mohammad Danish