The CreatorCon Call for Content is officially open! Get started here.

Hiding an option in reference field based on another field

Ramel
Mega Guru

Hi Community,

 

I was trying to hide an option in a reference field based on the selection on another field but I can't seem to make it work. I have seen a couple of similar question here in community but the solution that works for them does not seem to work when I tried it.

Requirement: 

When country = Singapore, category shoould show Recruitment, all other countries should not show the Recruitment category.

 

My script Include:

var CategoryCheck = Class.create();
CategoryCheck.prototype = {
    initialize: function() {
    },
    checkCountry: function(country) {
        gs.info('Check Country' + country);
        if(country == 'f9955b451bec55500826cbf2164bcb88') {//Singapore
        return "u_available_forISNOTEMPTY";
        }
        else {
            return "u_available_forISNOTEMPTY^u_name!=Recruitment/Onboarding";
        }
    },
    type: 'CategoryCheck'
};
 
Then, I have added the reference qualifier in the category field: javascript:new CategoryCheck().checkCountry(current.variables.u_country);
 
Can someone help to advise what am I missing.
 
Thank you.

 

1 ACCEPTED SOLUTION

Hi @Ramel 

 

Ok lets do vice-versa...have a try once.

 

javascript: 

var query;

if (current.variables.u_country != 'SINGAPORE'){
query = "u_available_forISNOTEMPTY^u_name!=Recruitment/Onboarding";
        }
else {
query = "u_available_forISNOTEMPTY";
}

 

I have checked in my PDI its working as expected....!!

Vishal Birajdar
ServiceNow Developer

I know one thing, and that is that I know nothing.
- Socrates

View solution in original post

10 REPLIES 10

This worked. I have also tried the below with script include and it worked. But since your sueggestion does not need scipt include, I will go with that. Appreciate your help. Thanks a lot.

 

var CategoryCheck = Class.create();
CategoryCheck.prototype = {
    initialize: function() {
    },
    
    checkCountry: function(country) {
        gs.log('Check Country' + country);

        var query1 = "u_available_forISNOTEMPTY^u_name!=Recruitment/Onboarding";
        var query = "u_available_forISNOTEMPTY";
        if (country == 'SINGAPORE') {
        return query;
        }
        else
        return query1;
    },
    type: 'CategoryCheck'
};