- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
I feel like this should be easy, but the answer eludes me right now. I tried searching the Community, but all the matches I found deal with Catalog Items, and I am not looking for that. I am dealing with the Form view of a Table (so I am not in the Service Portal).
I have a Custom Table, and in that table, I have a Multiple Choice field that has 5 choices (options). 1 of those 5 options should ONLY be available to users have have a certain role. So I would like to hide this choice from all users who do not have this role (on my Form). How would I do that?
Thanks
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Hi @jmiskey ,
Use a Client Script (onLoad or onChange) to dynamically remove a specific choice from the choice list based on whether the current user has a required role.
This is the correct and supported approach for hiding individual choice values on a table form.
Example:
function onLoad() {
// Replace with your role and field name
var requiredRole = 'x_custom.special_role';
var fieldName = 'u_my_choice_field';
var restrictedValue = 'restricted_option';
// If user does NOT have the role, remove the choice
if (!g_user.hasRole(requiredRole)) {
g_form.removeOption(fieldName, restrictedValue);
}
}
If this response was helpful, please consider marking it as Correct and Helpful. You may mark more than one reply as an accepted solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3 weeks ago
Glad to help.
As per community feature you can mark multiple responses as correct.
💡 If my response helped, please mark it as correct ✅ as well so that this helps future readers find the solution faster! 🙏
Ankur
✨ Certified Technical Architect || ✨ 10x ServiceNow MVP || ✨ ServiceNow Community Leader
