- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2024 10:03 AM
Hi All,
Hope you are doing well!!
I have the below requirement.
I have a variable "Access type", variable type is Select box(Include none is true) and choices are 1) Single, 2) Group.
Point 1: If you select the choice as "Single" a new variable "Single access" is visible, mandatory and add the choices as mentioned in the below code.
Point 2: If you select the choice as "Group" a new variable "Group access" is visible, mandatory and add the choices as mentioned in the below code.
Point 3: If you select the choice as "None" after selecting point 1or point 2, it should clear the point 1 or point 2 value and hide the variables "Single access" or "Group access".
I have created below onChange client script for this requirement. The point 1 and point 2 is working fine but point 3(none condition) is not working. Please correct my below code if its wrong.
OnChange client script Code:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '') {
return;
}
//Type appropriate comment here, and begin script below
if (newValue == 'Single') {
g_form.setVisible('single_access ', true);
g_form.setMandatory('group_access', true);
g_form.clearValue('group_access');
g_form.setMandatory('group_access', false);
g_form.setVisible('group_access', false);
g_form.addOption('single_access', 'Teams', 'Teams', 1);
g_form.addOption('single_access', 'Email', 'Email', 2);
g_form.addOption('single_access', 'Outlook', 'Outlook', 3);
g_form.addOption('single_access', 'Data', 'Data', 4);
} else if (newValue == 'group_access') {
g_form.setVisible('group_access', true);
g_form.setMandatory('group_access', true);
g_form.clearValue('single_access');
g_form.setMandatory('single_access', false);
g_form.setVisible('single_access', false);
g_form.addOption('group_access', 'Grp1', 'Grp1', 1);
g_form.addOption('group_access', 'Grp2', 'Grp2', 2);
g_form.addOption('group_access', 'Grp3', 'Grp3', 3);
g_form.addOption('group_access', 'Grp4', 'Grp4', 4);
} else if(newValue == ''{ //new value is 'none' This part is not working
g_form.clearValue('single_access');
g_form.clearValue('group_access');
g_form.setMandatory('group_access', false);
g_form.setMandatory('single_access', false);
g_form.setVisible('group_access', false);
g_form.setVisible('single_access', false);
}
}
Thanks! in advance
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2024 11:24 AM
@Khaja Shaik Please modify as below,
You already have newValue == ‘’ and you can declare those within this loop.
if (isLoading || newValue == '') {
g_form.clearValue('single_access');
g_form.clearValue('group_access');
g_form.setMandatory('group_access', false);
g_form.setMandatory('single_access', false);
g_form.setDisplay('group_access', false);
g_form.setVisible('single_access', false);
}
if (newValue == 'Single') {
g_form.setVisible('single_access ', true);
g_form.setMandatory('group_access', true);
g_form.clearValue('group_access');
g_form.setMandatory('group_access', false);
g_form.setVisible('group_access', false);
g_form.addOption('single_access', 'Teams', 'Teams', 1);
g_form.addOption('single_access', 'Email', 'Email', 2);
g_form.addOption('single_access', 'Outlook', 'Outlook', 3);
g_form.addOption('single_access', 'Data', 'Data', 4);
} else if (newValue == 'group_access') {
g_form.setVisible('group_access', true);
g_form.setMandatory('group_access', true);
g_form.clearValue('single_access');
g_form.setMandatory('single_access', false);
g_form.setVisible('single_access', false);
g_form.addOption('group_access', 'Grp1', 'Grp1', 1);
g_form.addOption('group_access', 'Grp2', 'Grp2', 2);
g_form.addOption('group_access', 'Grp3', 'Grp3', 3);
g_form.addOption('group_access', 'Grp4', 'Grp4', 4);
}
If you want it to in your ‘If and Else’ statement, then you have it as below,
if (isLoading) {
return;
}
The reason for last condition not working is because it’s getting returned as the syntax is same and used twice.
Note : setVisible() will create spaces instead using setDisplay().
Please mark this as helpful and accept it as a solution if this resolves your query.
Thanks,
Sujatha V.M.
Sujatha V.M.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-12-2024 07:13 AM - edited 04-12-2024 07:25 AM
Hi @Sujatha V M,
I have tried what you suggested, Its not working.
Here I have observed with my code is, if I change the order from 100 to 10 the variable "do_you_need_access_to_other_environments_and_or_technology_6" is Hiding but remaining two variables "technology_5" and "environment_5" not Hiding.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-12-2024 07:52 AM
@Khaja Shaik Can you tell me what's not working here? Is it not hiding the fields ? Can you share the screenshots?
If you have copied the code below, I had missed a ")", in that if(newValue == 'true' sentence.
Please mark this as helpful and accept it as a solution if this resolves your query.
Thanks,
Sujatha V.M.
Sujatha V.M.