Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2015, 07:36
hakki
 
Fecha de Ingreso: diciembre-2015
Mensajes: 8
Antigüedad: 8 años, 11 meses
Puntos: 0
on click con jquery

Hola a todos, la explicacion es un poco lio asi que prefiero explicaroslo mejor con un ejemplo;

Imaginaros que la busqueda me devuelve los dos siguientes registros:

Código:
<div class="suggest-element"><a id="autocomplete2" data="'Calle Marques de larios, 12,4,A'">Calle marques de larios,12,4,A</a></div>
<div class="suggest-element"><a id="autocomplete2" data="'Calle san juan XII,1,1A'">Calle san juan XII,1,1A</a></div>
Al tener el mismo ID, en este caso autocomplete2, al hacer click me rellena siempre con el primer registro que me muestra, en este caso Calle marques de larios.

Aqui teneis el codigo javascript y php:

Código:
$('.suggest-element').on('click', function(){
					var direccion = $('#autocomplete2').attr('data').split( "," );
                    //Editamos el valor del input con data de la sugerencia pulsada
                    $('#calle').val(direccion[0]);
                    $('#numero').val(direccion[1]);
                    $('#planta').val(direccion[2]);
                    $('#letra').val(direccion[3]);
                    														
                    //Hacemos desaparecer el resto de sugerencias
                    $('#suggestions2').fadeOut(1000);
                });

Código PHP:
<?php
header
'Content-type: text/html; charset=iso-8859-1' );
include 
$_SERVER['DOCUMENT_ROOT'] . 'inmo/mod/con_bd.php';
$search $_POST['service'];

    
$query_services "SELECT calle,numero,planta,letra FROM viviendas inner join clientes on viviendas.dni=clientes.dni WHERE MATCH(nombre, apellidos) AGAINST('$search')";
    
$result $con->query($query_services);

    while ( 
$row $result->fetch_assoc() ) {
        echo 
'<div class="suggest-element"><a id="autocomplete2" data="'.$row['calle'].','.$row['numero'].','.$row['planta'].','.$row['letra'].'">'.$row['calle'].', '.$row['numero'].', '.$row['planta'].$row['letra'].'</a></div>';
    }

?>