Edición de «Ejemplo de input autocomplete con jquery ui»

Saltar a: navegación, buscar

Advertencia: No has iniciado sesión. Tu dirección IP será visible públicamente si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, junto con otros beneficios.

La edición puede deshacerse. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así deshacer la edición.
Revisión actual Tu texto
Línea 34: Línea 34:
 
class Estados extends ActiveRecord {
 
class Estados extends ActiveRecord {
  
     public function obtener_estados($estado) {
+
     public function obtener_json($estado) {
 
         if ($estado != '') {
 
         if ($estado != '') {
            $estado = stripcslashes($estado);
 
 
             $res = $this->find('columns: estado', "estado like '%{$estado}%'");
 
             $res = $this->find('columns: estado', "estado like '%{$estado}%'");
 
             if ($res) {
 
             if ($res) {
 +
                // creamos el formato json para el autocomplete ej: ["aragua","caracas"]
 
                 foreach ($res as $estado) {
 
                 foreach ($res as $estado) {
                     $estados[] = $estado->estado;
+
                     $estados[] = '"' . $estado->estado . '"';
 
                 }
 
                 }
                 return $estados;
+
                 return '[' . join(',', $estados) . ']';
 
             }
 
             }
 
         }
 
         }
         return array('no hubo coincidencias');
+
         return '["no hubo coincidencias"]';
 
     }
 
     }
  
Línea 69: Línea 69:
 
     //accion que busca en los estados y devuelve el json con los datos
 
     //accion que busca en los estados y devuelve el json con los datos
 
     public function autocomplete() {
 
     public function autocomplete() {
        View::template(NULL);
+
         if (Input::isAjax()) { //solo devolvemos los estados si se accede desde ajax
        View::select(NULL);
+
            // autocomplete coloca al final de la url coloca una variable get term
         if (Input::isAjax()) { //solo devolvemos los estados si se accede desde ajax  
+
            // con los datos ingresados en el input 
             $busqueda = Input::post('busqueda');
+
             $busqueda = Input::get('term');
             $estados = Load::model('estados')->obtener_estados($busqueda);
+
             $estados = Load::model('estados')->obtener_json($busqueda);
             die(json_encode($estados)); // solo devolvemos los datos, sin template ni vista
+
             die($estados); // solo devolvemos los datos, sin template ni vista
            //json_encode nos devolverá el array en formato json ["aragua","carabobo","..."]
+
 
         }
 
         }
 +
        die;
 
     }
 
     }
 
}
 
}
  
 
</source>
 
</source>
 +
  
 
=== La Vista ===
 
=== La Vista ===
Línea 96: Línea 97:
 
     $(document).ready(function(){
 
     $(document).ready(function(){
 
         $('input#autocomplete').autocomplete({
 
         $('input#autocomplete').autocomplete({
 
 
             minLength : 2 , //le indicamos que busque a partir de haber escrito dos o mas caracteres en el input
 
             minLength : 2 , //le indicamos que busque a partir de haber escrito dos o mas caracteres en el input
 
+
             source : <?php echo PUBLIC_PATH ?> + "index/autocomplete" //url donde buscará los estados
             source : function( request , response ){
+
 
+
                var url = "<?php echo PUBLIC_PATH ?>index/autocomplete"//url donde buscará los estados
+
 
+
                $.post(url, { 'busqueda' : request.term }, response, 'json');
+
 
+
                //busqueda es la varible que mandaremos por post con el contenido del input
+
            }
+
 
         });
 
         });
 
     });
 
     });

Por favor observa que todas las contribuciones a KumbiaPHP Framework Wiki se consideran hechas públicas bajo la Attribution-Share Alike 3.0 Unported (véase KumbiaPHP Framework Wiki:Derechos de autor para más detalles). Si no deseas la modificación y distribución libre de tu obra, entonces no la pongas aquí.
También nos aseguras que tú escribiste esto y te pertenecen de los derechos de autor, o lo copiaste desde el dominio público u otra fuente libre. ¡No uses escritos con copyright sin permiso!

Cancelar | Ayuda de edición (se abre en una ventana nueva)