- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-31-2020 07:21 AM
Is there a script that someone can share with me that will hide options in a select box depending on what catalog item it is. To provide more information we use a variable set for all access requests. One of the variables in the variable set is titled "Add or Remove Access" with the options add, remove or modify. We would only like the modify option to show if it is a certain catalog item. Is this possible?
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
-
Team Development

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-01-2020 06:16 PM
Hey,
There are some issues with your code, please see my example below.
I think it should be on Load
function onLoad() {
// Array of Catalogue Item SYS_ID's to hide modify option for
var hideModifyCatItems = ['CAT_ITEM1_SYSID', 'CAT_ITEM2_SYSID', 'CAT_ITEM1_SYSID']
// Get SYS_ID of current catalog item
var thisCatItem = g_form.getUniqueValue();
// Is current item sys_id in array of items to hide modify for?
var hideModifyOnThisItem = hideModifyCatItems .indexOf(thisCatItem) > -1;
// what is the name of the variable?
var variableWithModify = 'your_variable_name';
if (hideModifyOnThisItem) {
//Parm 1 - variable name, Parm 2 - value
g_form.removeOption(variableWithModify,'modify');
} else {
g_form.addOption(variableWithModify,'modify');
}
}
ServiceNow Nerd
ServiceNow Developer MVP 2020-2022
ServiceNow Community MVP 2019-2022

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-01-2020 06:16 PM
Hey,
There are some issues with your code, please see my example below.
I think it should be on Load
function onLoad() {
// Array of Catalogue Item SYS_ID's to hide modify option for
var hideModifyCatItems = ['CAT_ITEM1_SYSID', 'CAT_ITEM2_SYSID', 'CAT_ITEM1_SYSID']
// Get SYS_ID of current catalog item
var thisCatItem = g_form.getUniqueValue();
// Is current item sys_id in array of items to hide modify for?
var hideModifyOnThisItem = hideModifyCatItems .indexOf(thisCatItem) > -1;
// what is the name of the variable?
var variableWithModify = 'your_variable_name';
if (hideModifyOnThisItem) {
//Parm 1 - variable name, Parm 2 - value
g_form.removeOption(variableWithModify,'modify');
} else {
g_form.addOption(variableWithModify,'modify');
}
}
ServiceNow Nerd
ServiceNow Developer MVP 2020-2022
ServiceNow Community MVP 2019-2022
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-02-2020 05:08 AM
Easy then. Go ahead and write a onload client script on these three catalogs.
a single line of code will do the trick.
function onLoad() {
//Type appropriate comment here, and begin script below
g_form.removeOption('variable_name', 'value_to_remove');
}
ServiceNow Community Rising Star 2022/2023