Algo extraño pero pude hacer algo. cualquier comentario para simplificar mi codigo es bien recibido, estoy consciente de que esta bastante desordenado y es poco entendible, si se trata de compactar el codigo agradezco porque la verdad esta feito jejeje.
el form_
<!-- ************************************************************************************************************************* -->
<!-- ************************************************************************************************************************* -->
<div class="row">
<?php echo $form->labelEx($model,'Busque una persona');?>
<?php echo CHtml::activeTextField($model,'buscarcedula',
array('value'=> ($model->isNewRecord ? '' : $model->idpersona0->cedula),
'id'=>'cedula','style'=>"width:10%",'onkeypress'=>'return soloNumeros(event, this)',
'ajax'=>array(
'type'=>'POST',
'url'=>CController::createUrl('TblPersona/buscarnombrecompleto'),
'update'=>'#nombrediv'
)
));?>
<div id="nombrediv">
<?php echo $form->textField($model,'idpersona'); ?>
</div>
<!-- echo CHtml::tag('input', array('id'=>'TblDependenciapersona_idpersona','type'=>'text' , 'value' => $nombres, 'readonly'=>true)); -->
<!-- ************************************************************************************************************************* -->
<!-- ************************************************************************************************************************* -->
el Controller
public function actionbuscarnombrecompleto()
{
$cedula2 = $_POST['TblDependenciapersona']['buscarcedula'];
if (isset($cedula2)){
$idpersona2=Yii::app()->db->createCommand("SELECT id FROM tbl_persona WHERE cedula = ".$cedula2)->queryScalar();;
$nombres=Yii::app()->db->createCommand("SELECT nombre FROM tbl_persona WHERE cedula = ".$cedula2)->queryScalar();
$apellidos=Yii::app()->db->createCommand("SELECT apellido FROM tbl_persona WHERE cedula = ".$cedula2)->queryScalar();
if ($nombres != ''){
echo CHtml::tag('input', array('id'=>'TblDependenciapersona_idpersona','type'=>'text' ,
'value' => $idpersona2, 'readonly'=>true, 'name'=>'TblDependenciapersona[idpersona]','style'=>'width:5%'));
echo CHtml::tag('input', array('id'=>'TblDependenciapersona_datos','type'=>'text' ,
'value' => $nombres.' '.$apellidos, 'readonly'=>true, 'style'=>'width:50%'));
} else {
echo CHtml::tag('input', array('id'=>'TblDependenciapersona_idpersona','type'=>'text' ,
'value' => '', 'readonly'=>true, 'name'=>'TblDependenciapersona[idpersona]','style'=>'width:5%'));
echo CHtml::tag('input', array('id'=>'TblDependenciapersona_datos','type'=>'text' ,
'value' => 'Personal no registrado', 'readonly'=>true, 'style'=>'width:50%'));
}
}else{
break;
}
}