Buenas tardes, estoy intentando poner una condición a un select dependiente y no trabaja, solo trabaja en el primero, en el dependiente no trabaja, muestro aqui los códigos:
en el controlador:
public function actionActualizarFirmantes() {
$model = Clientes::model()->findByPk($_POST['idCodigo']);
//llenar firmantes
$data = CHtml::listData($model->firmantes, 'Id', 'Nombre');
$firmantes = "";
foreach ($data as $value => $name) {
$firmantes .= CHtml::tag('option', array('value' => $value), CHtml::encode($name), true);
}
// return data (JSON formatted)
echo CJSON::encode(array(
'firmantes' => $firmantes,
));
}
en la vista primer select, este trabaja la condicion:
<?php
$this->widget('ext.select2.ESelect2', array(
'model' => $model,
'attribute' => 'CodCliente',
'data' => CHtml::listData(Clientes::model()->findAll(array('order' => 'Descripcion ASC', 'condition' => 'IdEstado = 1')), 'CodCliente', 'Descripcion'),
'htmlOptions' => array(
'style' => 'width: 360px',
// 'id' => 'CodCliente',
'placeholder' => 'Seleccione el cliente',
'ajax' =>
array(
'type' => 'POST',
'url' => CController::createUrl('/facturacion/facturas/actualizarFirmantes'),
'dataType' => 'json',
'data' => array('idCodigo' => 'js:this.value'),
'success' => 'function(data) {
$("#Facturas_Idrec").html(data.firmantes);
}'
)
)
)
);
?>
el dependiente aqui la condicion no trabaja, o sea me muestra todos los que traiga la accion del controlador
<?php
$this->widget('ext.select2.ESelect2', array(//'bootstrap.widgets.TbSelect2'//'ext.YiiBooster.TbSelect2'
'model' => $model,
'attribute' => 'Idrec',
// 'asDropDownList' => true,
'data' => CHtml::listData(Firmantes::model()->findAll(array('condition' => 'IdEstado = 1', 'order' => 'Nombre')), 'Id', 'Nombre'),
'options' => array('placeholder' => 'Seleccione persona ... ',
'width' => '88%',
'allowClear' => true,),
)
)
?>
Ojala y puedan ayudarme lo necesito para ayer como se dice en la vida real, gracias por adelantado.
Aclaro creo que si le pongo la condicion a la accion del controlador se resolveria pero no se como.