Buenas,
Obtengo el siguiente error cuando selecciono una opción del select e intenta recargar el otro select.
El código es el siguiente:
La vista:
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'alarmas-calcular',
'method'=>'GET',
'enableAjaxValidation'=>false,
));?>
<?php $accion = Yii::app()->controller->action->id;?>
<!--<p class="note">Fields with <span class="required">*</span> are required.</p>-->
<p class="note"><?php echo UserModule::t('Fields with <span class="required">*</span> are required.');?></p>
<?php echo $form->errorSummary($model,null,null,array('class'=>'errorSummary stick')); ?>
<div class="row">
<?php echo $form->labelEx($model,'zona'); ?>
<?php echo $form->dropDownList(
$model,
'zona',
array(
'todas'=>Yii::t('default', 'All'),
'blanco'=>Yii::t('default','Sectors without alarm'),
'Zonas'=>CHtml::listData(Zonas::model()->listarZonas(), 'id', 'nombre')),array('class'=>'betterform',
'ajax'=>array(
'type'=>'POST',
'url'=>CController::CreateUrl('alarmas/cargarEnsal'),
'update'=>'#Alarmas_id_ensal',
),
));
?>
<?php echo $form->error($model,'zona'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'id_ensal'); ?>
<?php //echo $form->textField($model,'id_ensal',array('size'=>10,'maxlength'=>10,'class'=>'betterform')); ?>
<?php echo $form->dropDownList($model, 'id_ensal',
array(),
array('class'=>'betterform','prompt'=>Yii::t('default','Select input/output'))
);
?>
<?php echo $form->error($model,'id_ensal'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton(Yii::t('default','Calcular'),array('class'=>'button big primary'));?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
El controlador:
public function actioncargarEnsal() {
if (!empty($_POST['Alarmas']['zona'])) {
//echo "entro";
$criteria = new CDbCriteria();
$criteria->select = array('t.nombre','t.id');
$criteria->order='t.nombre';
$criteria->compare('id_zona',(int)$_POST['Alarmas']['zona']);
$datos = Ensal::model()->findAll($criteria);
$datos = CHtml::listData($datos, 'id', 'nombre');
foreach ($datos as $valor=>$nombre) {
echo CHtml::tag('option', array('value'=>$valor),CHtml::encode($nombre));
}
}
else {
echo CHtml::tag('option', array('value'=>''),CHtml::encode(Yii::t('default', 'Select input/output')));
}
}
Si suprimo esto sigue dando el mismo problema, lo más curioso es que esa acción la uso en otro fomulario para lo mismo y va perfectamemnte
'todas'=>Yii::t('default', 'All'),
'blanco'=>Yii::t('default','Sectors without alarm'),
Gracias anticipadamente por la ayuda.