Next the form code,
<div class="form">
<?php $form = $this->beginWidget('GxActiveForm', array(
'id' => 'form-start-form',
'enableAjaxValidation' => true,
));
?>
<?php Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/protected/javascript/dinamicSurvey.js',CClientScript::POS_END);?>
<p class="note">
<?php echo Yii::t('app', 'Fields with'); ?> <span class="required">*</span> <?php echo Yii::t('app', 'are required'); ?>.
</p>
<?php echo $form->errorSummary(array($model,$modelDetermined,$modelIndecisive)); ?>
<!-- GENERAL FIELDS: $model - PART I -->
<div class="row">
<?php echo $form->labelEx($model,'num_days_route'); ?>
<?php $rangeDays = range($model::MIN_DAYS, $model::MAX_DAYS); ?>
<?php
$rangeDaysText = array_combine($rangeDays,$rangeDays);
foreach ($rangeDaysText as $key => $value)
{
if($key===1)
$rangeDaysText[$key] = $value.' día';
else
$rangeDaysText[$key] = $value.' días';
}
$defaultValue_Num_days_route = '--Elige valor--';
$options = array();
if(empty($model->num_days_route))
$options[$defaultValue_Num_days_route] = array('selected' => true);
else
$options[$model->num_days_route] = array('selected' => true);
?>
<?php echo $form->dropDownList($model,'num_days_route',$rangeDaysText,array('empty' => $defaultValue_Num_days_route)); ?>
<?php echo $form->error($model,'num_days_route'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($model,'how_many_people'); ?>
<?php $rangePerson = range($model::MIN_PEOPLE, $model::MAX_PEOPLE); ?>
<?php
$rangePeopleText = array_combine($rangePerson,$rangePerson);
foreach ($rangePeopleText as $key => $value)
{
if($key===1)
$rangePeopleText[$key] = $value.' persona';
else
$rangePeopleText[$key] = $value.' personas';
}
$defaultHow_many_people = '--Elige valor--';
$optionsTo = array();
if(empty($model->how_many_people))
$optionsTo[$defaultHow_many_people] = array('selected' => true);
else
$optionsTo[$model->how_many_people] = array('selected' => true);
?>
<?php echo $form->dropDownList($model,'how_many_people',$rangePeopleText,array('empty' => $defaultValue_Num_days_route,'options' => $optionsTo)); ?>
<?php echo $form->error($model,'how_many_people'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($model,'amongAges'); ?>
<?php echo $form->labelEx($model,'from_age'); ?>
<?php $rangeAgeFrom = range($model::MIN_AGE, $model::MAX_AGE); ?>
<?php
$rangeFromText = array_combine($rangeAgeFrom,$rangeAgeFrom);
foreach ($rangeFromText as $key => $value)
{
if($key===1)
$rangeFromText[$key] = $value.' año';
else
$rangeFromText[$key] = $value.' años';
}
$defaultFrom_age = '--Elige desde--';
$optionsFrom = array();
if(empty($model->from_age))
$optionsFrom[$defaultFrom_age] = array('selected' => true);
else
$optionsFrom[$model->from_age] = array('selected' => true);
?>
<?php echo $form->dropDownList($model,'from_age',$rangeFromText,array('empty' => $defaultFrom_age,'options' => $optionsFrom));?>
<?php echo $form->error($model,'from_age'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($model,'to_age'); ?>
<?php
if(empty($optionsFrom[$defaultFrom_age]))
{
$rangeAgeTo = range($model->from_age, $model::MAX_AGE);
$rangeToText = array_combine($rangeAgeTo,$rangeAgeTo);
foreach ($rangeToText as $key => $value)
{
if($key===1)
$rangeToText[$key] = $value.' día';
else
$rangeToText[$key] = $value.' dias';
}
$disabled = false;
}else{
$rangeToText = array_combine($rangeAgeFrom,$rangeAgeFrom);
foreach ($rangeToText as $key => $value)
{
if($key===1)
$rangeToText[$key] = $value.' año';
else
$rangeToText[$key] = $value.' años';
}
$disabled = true;
}
$defaultTo_age = '--Elige desde--';
$optionsTo = array();
if(empty($model->to_age))
$optionsTo[$defaultTo_age] = array('selected' => true);
else
$optionsTo[$model->to_age] = array('selected' => true);
?>
<?php echo $form->dropDownList($model,'to_age',$rangeToText,array('disabled'=>$disabled, 'empty' => $defaultTo_age,'options' => $optionsTo)); ?>
<?php echo $form->error($model,'to_age'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($model,'are_babys'); ?>
<?php $selectYesNo = array('1'=>'Si', '0'=>'No'); ?>
<?php echo $form->checkbox($model,'are_babys',$selectYesNo,array('separator'=>' ')); ?>
<?php echo $form->error($model,'are_babys'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($model,'knowsWhere'); ?>
<?php $selectYesNo = array('1'=>'Si', '0'=>'No'); ?>
<?php echo $form->radioButtonList($model,'knowsWhere',$selectYesNo,array('separator'=>' ','class'=>'radio-knowsWhere')); ?>
<?php echo $form->error($model,'knowsWhere'); ?>
</div><!-- row -->
<!-- DETERMINED FIELDS: $modelDetermined -->
<div class="row" style="display:none" id="determinedFields">
<div class="row">
<?php echo $form->labelEx($modelDetermined,'where'); ?>
<?php echo $form->textArea($modelDetermined, 'where'); ?>
<?php echo $form->error($modelDetermined,'where', array('validateOnChange'=>true,)); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($modelDetermined,'visitSurroundings'); ?>
<?php echo $form->radioButtonList($modelDetermined,'visitSurroundings',$selectYesNo,array('separator'=>' ','class'=>'radio-visitSurroundings')); ?>
<?php echo $form->error($modelDetermined,'visitSurroundings'); ?>
</div><!-- row -->
</div>
<!-- INDECISIVE FIELDS: $modelIndecisive -->
<div class="row" style="display:none" id="indecisiveFields">
<div class="row">
<?php echo $form->labelEx($modelIndecisive,'city_live'); ?>
<?php echo $form->textArea($modelIndecisive, 'city_live'); ?>
<?php echo $form->error($modelIndecisive,'city_live'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($modelIndecisive,'farAway'); ?>
<?php echo $form->radioButtonList($modelIndecisive,'farAway',$selectYesNo,array('separator'=>' ','class'=>'radio-farAway')); ?>
<?php echo $form->error($modelIndecisive,'farAway'); ?>
</div><!-- row -->
<div class="row">
<!-- INI-Cabecera de la Pregunta -->
<?php echo $form->labelEx($modelIndecisive,'preferences'); ?>
<!-- FIN-Cabecera de la Pregunta -->
<?php echo $form->labelEx($modelIndecisive,'extra_preference'); ?>
<?php echo $form->textArea($modelIndecisive, 'extra_preference'); ?>
<?php echo $form->error($modelIndecisive,'extra_preference'); ?>
</div><!-- row -->
<div class="row">
<?php echo $form->labelEx($modelIndecisive,'extra_NoPreference'); ?>
<?php echo $form->textArea($modelIndecisive, 'extra_NoPreference'); ?>
<?php echo $form->error($modelIndecisive,'extra_NoPreference'); ?>
</div><!-- row -->
</div><!-- row -->
<?php
echo GxHtml::submitButton(Yii::t('app', 'Save'));
$this->endWidget();
?>
</div><!-- form -->