Galera é o seguinte, estou iniciando no Yii
tenho que pegar os dados que vem do CJuiAutoComplete "só o id", que está no form e colocar numa variavel que está no CJuiDialog acima do form, mas no mesmo arquivo, para fazer uma consulta e retornar os detalhes desde usuario que está na tabela Detalhe…
_CONTROLLERS
<?php
....
function actionNomecomplete() {
$match=$_GET['term'];
if(!empty($match)){
$match = addcslashes($match, '%_');
$q = new CDbCriteria( array(
'condition' => "nome_usuario LIKE :match",
'params' => array(':match' => "%$match%"),
'limit' => "5"
));
$query = Usuario::model()->findAll($q);
$list = array();
foreach($query as $q){
$data['label'] = $q['nome_usuario'];
$data['id_usuario'] = $q['id_usuario'];
$data['nome_usuario'] = $q['nome_usuario'];
$list[] = $data;
unset($data);
}
echo CJSON::encode($list);
Yii::app()->end();
}
}
....
?>
_FORM
<?php
....
$form=$this->beginWidget('CActiveForm', array(
'id'=>'usuario-form',
'enableAjaxValidation'=>false,
)); ?>
<?php
$detalhe = Detalhe::model()->findAll(array('condition'=>'id_usuario=:userID','params'=>array(':userID'=>$id_user),));
if(!empty($detalhe)){
$this->beginWidget('zii.widgets.jui.CJuiDialog',array(
'id'=>'detalhes',
'options'=>array(
'title'=>'Detalhes',
'autoOpen'=>false,
'height'=>150,
'width'=>450,
),
));
foreach($detalhe as $row):
echo '<li><span class="detalhes">'.$row->descricao.'</span><span class="detalhes_dt">'.$row->dt_cadastro.'</span></li>';
endforeach;
$this->endWidget('zii.widgets.jui.CJuiDialog');
/** End Widget **/
echo CHtml::link('Detalhes', '#', array(
'onclick'=>'$("#detalhes").dialog("open"); return false;',
));
}
?>
<p class="note">Os campos com <span class="required">*</span> são obrigatórios.</p>
....
<div class="row">
<?php echo $form->labelEx($model,'nome_usuario'); ?>
<?php echo $form->hiddenField($model,'id_usuario',array('id'=>'id_usuario')); ?>
<?php
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>'nome_usuario',
'id'=>'nome_usuario',
'attribute'=>'nome_usuario,
'model'=>$model,
'source'=>CController::createUrl('/usuario/nomeComplete'),
'options'=>array(
'showAnim'=>'fold',
'minLength'=>'0',
'select'=>'js:function( event, ui ) {
$("#nome_usuario").val( ui.item.nome_usuario );
$("#id_usuario").val( ui.item.id_usuario);
return false;
}',
)
));
?>
<?php echo $form->error($model,'nome_usuario'); ?>
</div>
....
no form ao digitar o nome do usuario ele preenche o nome e o id_usuario no input, quero levar esse id_usuario para a consulta em cima do form onde está o CJuiDialog que a variavel $id_user vai receber o id_usuario.