Que mas amigos como estan, mucho gusto mi nombre es Daniel, soy de colombia y quiciera que me ayudaran con algo, necesito hacer un autocomplete, este esta dentro de 2 tablas, una que se llama medico y otra comedico, el id de la tabla medico es la llave forania de la tabla comedico, es decir en la tabla comedico tengo el atributi medico_id, entonces necesito tener un campo en el formulario de comedico en el cual al escribir el nombre del medico me carge la lista de los medicos que tengan esas letras, si yo escribo dan me debe cargar una lista de medicos en los cuales el nombre contenga la palabra dan, pero veo donde explican lo mas basico que es esta pagina CAutoComplete
en mi tabla medico tengo los sigientes atributos basicamente
id
nombres
apellidos
y en la tabla comedico tengo
id
medico_id
nit
tipoid
entonces el codigo que creo es el sigiente, en el controller de comedico ComedicoController, tengo este action
public function actionFindMedico()
{
if(Yii::app()->request->isAjaxRequest && isset($_GET['q']))
{
/* q is the default GET variable name that is used by
/ the autocomplete widget to pass in user input
*/
$name = $_GET['q'];
// this was set with the "max" attribute of the CAutoComplete widget
$limit = min($_GET['limit'], 50);
$criteria = new CDbCriteria;
$criteria->condition = "nombres LIKE :sterm";
$criteria->params = array(':sterm' => '%'.$name.'%');
$criteria->limit = $limit;
$medicoArray = Medico::model()->findAll($criteria);
$returnVal = '';
foreach($medicoArray as $medicoAccount)
{
$returnVal .= $medicoAccount->getAttribute('nombres').'|'
.$medicoAccount->getAttribute('id')."\n";
}
echo $returnVal;
}
}
y en la vista de comedico en _form tengo lo sigiente en la linea donde va el medico_id
<div class="row">
<?php echo $form->labelEx($model,'medico_id'); ?>
<?php $this->widget('CAutoComplete',
array(
//name of the html field that will be generated
'name'=>'nombres',
//replace controller/action with real ids
'url'=>array('findMedico'),
'max'=>10, //specifies the max number of items to display
//specifies the number of chars that must be entered
//before autocomplete initiates a lookup
'minChars'=>2,
'delay'=>500, //number of milliseconds before lookup occurs
'matchCase'=>false, //match case when performing a lookup?
//any additional html attributes that go inside of
//the input field can be defined here
'htmlOptions'=>array('size'=>'40'),
'methodChain'=>".result(function(event,item){\$(\"#medico_id\").val(item[1]);})",
));
?>
<?php echo $form->error($model,'medico_id'); ?>
</div>
cuando ejecuto la vista y digito dan sale como si estubiera cargando, pero se queda alli y miro mi consola de errores y me sale que hay un error, pero ni idea, como les digo apenas comienzo a usar Yii me parecio muy bueno, pero no se que hacer jeje, les pido me ayuden con esto, ademas tambien trate de usar EjuiautocompleteFKField y ese menos, pues ese usa CJuiAutoComplete asi que primero debo aprender CJuiAutoComplete pa poder usar el otro, creo. bueno muchas gracias de antemano a todos y estare esperando sus ayudas, muchas gracias