ahora quiero saber si lo puedo usar para el siguiente caso
el campo a cargar es el nombre de un Producto
pero el listado solo debe incluir los medicamentos de un
determinado Sector
"ese" sector, es un dato que conozco al momento de hacer el render del form
(y hasta podría ponerlo como campo oculto dentro del form)
mi pregunta es
como accedo a ese valor desde el controlador (accion ProductoConStockAjax)
en la vista
echo CHtml::activeHiddenField($model, "idSector");
// nombre del producto + lote con stock
$this->widget('zii.widgets.jui.CJuiAutoComplete', array(
'name'=>"EgresoDetalles_nombre",
'value'=>$producto,
'sourceUrl'=>array('ProductoConStockAjax'),
'options'=>array(
'showAnim'=>'fold',
'select' => 'js:function(event, ui){ jQuery("#EgresoDetalles_'.$i.'_idLote").val(ui.item["id"]); }'
),
)); ?>
public function actionProductoConStockAjax() {
//if (empty($_GET['term'])) $_GET['term']='PE';
$criteria = new CDbCriteria;
$idSector = // como accedo?
$criteria->condition = "nombre like :term or troquel like :term and idSector = ".$idSector;
$criteria->params = array(':term'=>$_GET['term'].'%');
....
Genial… q bueno que era lo que necesitabas… ahora revisa bien que el juiAutocomplete funcione correctamente… ya que lo tengo aplicado en unas de mis formas, pero hay un error que sin mucha importancia no lo he querido revisar bien… uso la version yii-1.1.5.r2654
Sucede que cuando aparece la lista con el resultado de la consulta y navegagas por ellos con las teclas direccionales (arriba - abajo), sobre el input:text aparece el id de la opcion y no el nombre de la misma…
Digo que no tiene mucha importancia porque al seleccionarlo igualmente con las teclas direccionales y luego la tecla ENTER, este muestra en el input:text el nombre y no el id…
El error solo aplica cuando se usa para navegar… Sea cual sea el resultado avisanos para saber que hacer… quizas soy yo quien tengo algo mal por ahi…
Me ha traido quebraderos de cabeza eso porque de esa forma nunca se activaba el control de Aborto de la petición anterior en caso de teclear varias peticiones seguidas.