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

Sorry, didn't get you can you share me updated script if possible.

Thanks,

JRY

Hey Jry,

 

I found there is '' missing in your client script, Please find the updated script 

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');
 }
}

 

If my reply helped with your issue please mark it as Correct & 👍Helpful.

Thank you!!


Kind Regards,
Mohammad Danish

Hi Danish,

It's still showing old value. 

Here I have tried first I have added values to company field and department field based on that approval group got popup in the field but when I have changed the values on department but still showing old value on approval group. Can you help me how to do this.

 

Thanks,

JRY

Hi,

Do you have OnChange Client Script for Department which will clear approval group when department is changed or department is cleared out?

If yes, please share the client script.

Regards,
Mohammad Danish

 

Hi,

Is that the only script you have written?

that won't work

Regards
Ankur

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