Saludos comunidad,
Les cuento, resulta que necesito que un textbox tenga autocompletado, estoy siguiente este tutorial y me está funcionado perfecto, sólo que tengo un problema. Lo que quiero es que en el textbox pueda buscar por el nombre de la persona, pero en el momento de guardar, necesito que guarde el ID no el nombre, esto es debido a que es una llave foránea. Lo que tengo es lo siguiente:
/protected/extension/EAutoCompleteAction.php
<?php
class EAutoCompleteAction extends CAction
{
public $model;
public $attribute;
private $results = array();
public function run()
{
if(isset($this->model) && isset($this->attribute)) {
$criteria = new CDbCriteria();
$criteria->compare($this->attribute, $_GET['term'], true);
$model = new $this->model;
foreach($model->findAll($criteria) as $m)
{
$this->results[] = $m->{$this->attribute};
}
}
echo CJSON::encode($this->results);
Yii::app()->end();
}
}
?>
/protected/controllers/AtencionController.php
public function actions()
{
return array(
'aclist'=>array(
'class'=>'application.extensions.EAutoCompleteAction',
'model'=>'Funcionario', //My model's class name
'attribute'=>'fun_rut', //The attribute of the model i will search
),
);
}
/protected/views/atencion/_form.php
<div class="control-group">
<?php echo $form->labelEx($model,'funcionario_fun_id',array('class'=>'control-label','label'=>'Funcionario')); ?>
<div class="controls">
<?php
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'attribute'=>'funcionario_fun_id',
'model'=>$model,
'value'=> Funcionario::model()->fun_id,
'sourceUrl'=>array('Atencion/aclist'),
'name'=>'fun',
'options'=>array(
'minLength'=>'1',
),
'htmlOptions'=>array(
'size'=>45,
'maxlength'=>45,
),
));
?>
</div>
</div>
De que forma podría hacer esto?
Saludos