Scriptbaker
SCRIPTBAKERAI & Software Engineering
JavaScript

Get Selected Value from Yii RadioButtonList

Sometimes you want to get selected value of radioButtonList using jQuery in your Yii powered application and it feels difficult due to Yii’s field naming

· 5 min read · By Tahir Yasin

Sometimes you want to get selected value of radioButtonList using jQuery in your Yii powered application and it feels difficult due to Yii’s field naming conventions, as every field name contains array.

Lets take an example. Suppose you have a radioButtonList as shown below and you want to enable/disable another field based on user selection from radioButtonList.

 <div class="row"> <?php echo $form->labelEx($model, 'nationality'); ?> <?php echo $form->radioButtonList($model, 'nationality', array( 'US' => 'US', 'Non US' => 'Non US', ), array( 'onChange'=>'toggleSSN();' )); ?> <?php echo $form->error($model, 'nationality'); ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'ssn'); ?> <?php echo $form->textField($model, 'ssn', array('size' => 9, 'maxlength' => 9, 'disabled'=>true)); ?> <?php echo $form->error($model, 'ssn'); ?> </div> 

We have added a JavaScript function onChange event of our radio buttons. Below code demonstrate how you can check selected value of radioButtonList using jQuery and perform conditional logic.

 function toggleSSN(){ var nationality = $('input[name="User[nationality]"]:checked').val(); if(nationality == 'US') { $('#User_ssn').attr('disabled', false); } else { $('#User_ssn').attr('disabled', true); } } 

Work with Scriptbaker

Let's talk about your project

Whether you're extending an existing platform, modernising legacy code, or planning something new, our engineers can help. Tell us what you're working on and we'll explore a practical technical solution together.