Hawk
Posts: 0
Joined: Mon Aug 04, 2014 11:23 am

Open popup based on radio option

I have radio of two options. I want to display one of three popups based on the option chosen (either one or none is chosen). The popups should show after the user click button (submit). So I've added the JS on blick:

code

var rad1 = Boolean(Apperyio('mobileradiobutton_295').find("input").val());
var rad2 = Boolean(Apperyio('mobileradiobutton_296').find("input").val());
var checkedValue1 = Apperyio("mobileradiobutton_295").find('input[type="radio"]:checked').val();
var checkedValue2 = Apperyio("mobileradiobutton_296").find('input[type="radio"]:checked').val();
if(checkedValue1 == "rad1"){
Apperyio("mobilepopup_298").popup("open");
}
else if(checkedValue2 == "rad2" ){
Apperyio("mobilepopup_399").popup("open");
}
else {
Apperyio("mobilepopup_300").popup("open");
};
/code

However, it always shows the last option (else)!

Kateryna Grynko
Posts: 0
Joined: Thu Nov 15, 2012 9:13 am

Open popup based on radio option

Hi Hawk,

Please try this solution:
prevar checkedRadio = Apperyio('MOBILE_RADIO_GROUP').find('input:radio:checked').val();

switch ( checkedRadio ) {
case 'rad1':
Apperyio("mobilepopup_298").popup("open");
break;
case 'rad2':
Apperyio("mobilepopup_399").popup("open");
break;
default: Apperyio("mobilepopup_300").popup("open");
}/preWhere MOBILE_RADIO_GROUP is your radio button group name.

Hawk
Posts: 0
Joined: Mon Aug 04, 2014 11:23 am

Open popup based on radio option

Hi Katya,

I used your script as follows:

code
var rad1 = Boolean(Apperyio('mobileradiobutton_295').find("input").val());
var rad2 = Boolean(Apperyio('mobileradiobutton_296').find("input").val());
var checkedRadio = Apperyio('mobileradiogroup_294').find('input:radio:checked').val();
switch ( checkedRadio ) {
case 'rad1':
Apperyio("mobilepopup_298").popup("open");
break;
case 'rad2':
Apperyio("mobilepopup_299").popup("open");
break;
default: Apperyio("mobilepopup_300").popup("open");
}
/code

It's still showing only the default case regardless the chosen options!!

To reproduce the problem:
link: http://appery.io/app/mobile-frame?src...

login credentials: haytham/star1234

Navigate: NavBar - earn points - Mevius - Mevius Airstream - radio options

Thanks for your help

Kateryna Grynko
Posts: 0
Joined: Thu Nov 15, 2012 9:13 am

Open popup based on radio option

Hi Hawk,

Now we can see that your buttons have different values, not just 'rad1' and 'rad2'. Also you shouldn't convert values to boolean.

Your switch statement should compare selected value to the radio buttons values as follows:
prevar rad1 = Apperyio('mobileradiobutton_295').find("input").val();
var rad2 = Apperyio('mobileradiobutton_296').find("input").val();
var checkedRadio = Apperyio('mobileradiogroup_294').find('input:radio:checked').val();
switch ( checkedRadio ) {
case rad1: Apperyio("mobilepopup_298").popup("open");
break;
case rad2: Apperyio("mobilepopup_299").popup("open");
break;
default: Apperyio("mobilepopup_300").popup("open");
}/pre

Hawk
Posts: 0
Joined: Mon Aug 04, 2014 11:23 am

Open popup based on radio option

Thanks Katya for the explanation!

Calvin Cox
Posts: 0
Joined: Wed Nov 06, 2013 7:46 pm

Open popup based on radio option

Hi Katya, I've tried implementing the above code and it seems to work on the computer using on click event to run my js. But when I tried it on my phone the popup doesn't work. Not sure what I'm doing wrong.

Any help would be greatly appreciated

Thanks.

Evgene Karachevtsev
Posts: 12
Joined: Mon Apr 28, 2014 1:12 pm

Open popup based on radio option

Hello Calvin,

You should use not a click, but value change event of your radio buttons group

Calvin Cox
Posts: 0
Joined: Wed Nov 06, 2013 7:46 pm

Open popup based on radio option

Thanks Evgene. That worked.

Return to “Issues”