Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/04/2011, 10:20
Avatar de destor77
destor77
 
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 5 meses
Puntos: 43
Respuesta: Autocomplete en CI

Hola, esto no es CI sino que esta armado con mi propio framework, pero tal vez te pueda dar una idea para implementarlo en CI

archivo js:
Código Javascript:
Ver original
  1. //autocomplete de productos
  2.         $("#producto").autocomplete({
  3.             source: 'index.php?controlador=index&accion=listado',
  4.             minLength: 1,
  5.             select: function( event, ui ) {
  6.                 $( "#producto" ).val( ui.item.label );
  7.                 $( "#idproductos" ).val( ui.item.value );
  8.                 $( "#precio" ).val( ui.item.desc );
  9.                 $( "#codigo" ).val( ui.item.icon );
  10.        
  11.                 return false;
  12.             }
  13.         });

vista html
Código HTML:
Ver original
  1. <div class="field">
  2.                 <div class="ui-widget">
  3.                 <span><strong>C&oacute;digo: </strong></span>
  4.                 <input id="codigo" name="codigo" value="" class="xsmall"/>
  5.                 <span><strong>Nombre: </strong></span>
  6.                 <input id="producto" name="producto" value="" onfocus="this.value='';"/>
  7.                 <input id="precio" name="precio" type="hidden" value=""/>
  8.                 <input id="idproductos" name="idproductos" type="hidden" value=""/>
  9.                 <span><strong>Cantidad: </strong></span>
  10.                 <input id="cantidad" name="cantidad" value="0" size="4" type="text" class="xsmall" onchange="validarCantidad(this.value)" />
  11.                 <input type="hidden" name="id_user" value="<?php echo $datos->id_user;?>"/>
  12.                 <button type="submit"><span>Sumar</span></button>
  13.                 </div>
  14.  
  15.             </div>

controlador .php
Código PHP:
Ver original
  1. /**
  2.      * devuelve el listado de productos para el autocomplete
  3.      * @version 0.1
  4.      * @author Lucas M. sastre
  5.      * @access public
  6.      * @name listado
  7.      *
  8.      */
  9.     public function listado() {            
  10.         $prod = $this->Productos->listadoProductosCaja($_REQUEST);
  11.         $datos = "[";
  12.         for($i=0;$i<count($prod);$i++) {
  13.         $datos .= '{"label": "'.stripslashes(utf8_encode($prod[$i]['nombre'])).'","value": "'.$prod[$i]['idproductos'].'","desc": "'.$prod[$i]['precio'].'","icon": "'.$prod[$i]['codigo'].'"}';
  14.         if($i<count($prod)) {
  15.             $datos .= ",";
  16.         }
  17.         }
  18.         $coma = strrpos($datos,',');
  19.         $datos = substr_replace($datos, '', $coma,1);
  20.         $datos .= "]";
  21.         echo $datos;
  22.  
  23.     }

Básicamente lo que hago es en mi js llamar al controlador que devuelve la busqueda en formado json, y desde el js voy separando los distintos valores de la consulta y lo asigno a los elementos del formulario.

Esto lo uso en mi sistema de gestión de mi negocio, donde el autocomplete lo uso para buscar un producto a vender.

Espero que te sirva para guiarte y hacerlo en CI

Saludos