Comunidad de diseño web y desarrollo en internet

hola buenos dias tengo un problemita con un evento jquery

Citar            
MensajeEscrito el 16 Feb 2017 10:02 pm
este es mi formulario de autocompletado

Código :

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
        
        <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
         <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>
         <link href="css/jqueryui.css" type="text/css" rel="stylesheet"/>
        <script>
             $(document).ready(function(){    
            $( "#matricula" ).autocomplete({
                  source: "buscaralumno.php",
                  minLength: 2
             });
             
             $("#matricula").focusout(function(){
                $.ajax({
                   url:'alumno.php',
                   type:'POST',
                   dataType:'json',
                   data:{ matricula:$('#matricula').val()}
                }).done(function(respuesta){
                   $("#nombre").val(respuesta.nombre);
                   $("#paterno").val(respuesta.paterno);
                   $("#materno").val(respuesta.materno);
                });
             });                       
         });
        </script>
                    
    </head>
    <body>
        
          <form>
             <label for="matricula">Matricula:</label>
          <input type="text" id="matricula" name="matricula" value=""/>
          <label for="nombre">Nombre:</label>
          <input type="text" id="nombre" name="nombre" value=""/>
          <label for="paterno">Paterno:</label>
          <input type="text" id="paterno" name="paterno" value=""/>
          <label for="materno">Materno:</label>
          <input type="text" id="materno" name="materno" value=""/>
      </form>
    </body>
</html>


esta es mi busqueda buscaralumno.php

Código :

<?php

$conexion = new mysqli('servidor','usuario','password','basedatos',3306);
$matricula = $_GET['term'];
$consulta = "select matricula FROM tblalumno WHERE matricula LIKE '%$matricula%'";

$result = $conexion->query($consulta);

if($result->num_rows > 0){
   while($fila = $result->fetch_array()){
      $matriculas[] = $fila['matricula'];      
   }
   echo json_encode($matriculas);
}

?>


este es m iautocompletado alumno.php

Código :

<?php
   
   $conexion = new mysqli('servidor','usuario','password','basedatos',3306);
   $matricula = $_POST['matricula'];
   $consulta = "select nombre, paterno, materno FROM tblalumno WHERE matricula = '$matricula'";

   $result = $conexion->query($consulta);
   
   $respuesta = new stdClass();
   if($result->num_rows > 0){
      $fila = $result->fetch_array();
      $respuesta->nombre = $fila['nombre'];
      $respuesta->paterno = $fila['paterno'];
      $respuesta->materno = $fila['materno'];      
   }
   echo json_encode($respuesta);

?>

el detalle es q el evento focusout quiero cambiarlo por key press u otro que cuando yo tecleo o escogo el autocompletado quiero q automaticamente se ecomplete en las demas cajas de texto.....

Por deivid7777

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 17 Feb 2017 10:12 pm
Veo dos problemas de la forma en que lo estas haciendo:

- Aun cuando lo cambies al keyUp, estás haciendo una consulta al back-end por cada teclado, lo cual es bastante lento e incluso puede bloquearse si el usuario tipea rápido
- Estás buscando registros iguales en vez de parecidos, asumiendo que hay una sola respuesta a una combinación de dos letras .... esa no es la forma en que funcionan las sugerencias

Jorge

Por solisarg

BOFH

13377 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.