Hi,
I am creating a dependent dropdown list
with two dropdown lists
One is the "group" and the other is "race"
already searched in the forum and found several cases, but still did not work with all the examples
I’ll post my code:
"_View" file code:
<div class="row">
<?php echo $form->labelEx($model,'grupo_id'); ?>
<?php echo $form->dropDownList($model,'grupo_id',CHtml::listData(Grupo::model()->findAll(),'grupo_id','grupo_nome'),
array(
'prompt'=>'Selecione um grupo',
'ajax'=> array(
'type' => 'POST',
'url'=>CController::createUrl('Pet/DynamicRacas'),
'update'=>'#'.CHtml::activeId($model,'raca_id'),
)
)
);
?>
<?php echo $form->error($model,'grupo_id'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'raca_id'); ?>
<?php echo $form->DropDownList($model,'raca_id',array()); ?>
<?php echo $form->error($model,'raca_id'); ?>
</div>
Controller code:
public function actionDynamicRacas()
{
$data = Raca::model()->findAll('grupo_id=:grupo_id',
array(':grupo_id'=>(int) $_POST['grupo_id']));
$data = CHtml::listData($data,'raca_id','raca_nome');
foreach($data as $id => $value)
{
echo CHtml::tag('option',array('value' => $id),CHtml::encode($value),true);
}
}
the code generated:
<div class="row">
<label for="Pet_grupo_id" class="required">Grupo <span class="required">*</span></label>
<select name="Pet[grupo_id]" id="Pet_grupo_id">
<option value="">Selecione um grupo</option>
<option value="2">Gato</option>
<option value="1">Cao</option>
</select>
</div>
<div class="row">
<label for="Pet_raca_id" class="required">Raça <span class="required">*</span></label>
<select name="Pet[raca_id]" id="Pet_raca_id">
</select>
</div>
The second drop down list does not receive anything.
How do I check if the function dynamic races reaches to be accessed?