Hiding MRVS container based on variable value in MRVS

venkat_guthik
Tera Guru

Hi Community...
I got a requirement that, based on the inside variable value in MRVS, i need to hide the entire container,
For example, Iam having A,B,C,D variables in the MRVS container. Based on the input variable value we need to display the data in B,C and D. (here "A" is reference variable, BCD are text variables)
suppose if the value of A='empty or 'null', no need to display the other variables and also the MTVS container need to hide on the form. (entire container need to hide).
If "E" is external variable (outside the container) means, based on that we can hide the MRVS container, But this variable "A" is inside the MRVS container.
I have tried with the catalog UI polocy and catalog client script, but no luck.

Please help any one, how can i achive/implement this fucntionality please suggest.

1 ACCEPTED SOLUTION

@Ankur Bawiskar Hi ANkur, I have seen your other thread reply in the community regarding the same scenario.
https://www.servicenow.com/community/developer-forum/hide-variable-column-from-multi-row-variable-on...

DOM manipulation suggested by you. Is it good to implement this or not ?
Please let me know

View solution in original post

19 REPLIES 19

@venkat_guthik 

your onLoad catalog client script should be Applies on Requested Item and Applies to Catalog Item

Check if the MRVS itself is empty or not and hide if empty

function onLoad() {
    var rritm = g_form.getValue('previous_ritm_s');
    if (rritm == '') {
        g_form.setDisplay('previous_ritm_s', false);
    }
}

AnkurBawiskar_0-1738148488722.png

 

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

@Ankur Bawiskar Hi Ankur,

after applying your code also MRVS container is not hiding, just empty container showing like below.
Output:

venkat_guthik_0-1738150137825.png

 

@venkat_guthik 

this will work

function onLoad() {
    var rritm = JSON.parse(g_form.getValue('previous_ritm_s').toString());
    if (rritm.length == 0) {
        g_form.setDisplay('previous_ritm_s', false);
    }
}

If my response helped please mark it correct and close the thread so that it benefits future readers.

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

@Ankur Bawiskar  No Ankur, still the empty MRVS container is showing, its not hiding with your script.

function onLoad() {
    var rritm = JSON.parse(g_form.getValue('previous_ritm_s').toString());
    if (rritm.length == 0) {
        g_form.setDisplay('previous_ritm_s', false);
    }
}

venkat_guthik_0-1738151121900.png

 

@venkat_guthik 

it worked for me and removed the MRVS if empty on RITM form

Are you sure you gave the correct variable set name for MRVS?

See output

Share your script and configuration

client script agent workspace.gif

If my response helped please mark it correct and close the thread so that it benefits future readers.

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