Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks JS (http://www.forosdelweb.com/f127/)
-   -   problemilla con autocompleter de scriptaculous. (http://www.forosdelweb.com/f127/problemilla-con-autocompleter-scriptaculous-559201/)

markshock 21/02/2008 11:11

problemilla con autocompleter de scriptaculous.
 
Buenas señores,

Pues me encuentro con un problema que no se como resolver.... estoy intentando hacer que al usar el autocompleter, al seleccionar una opción del desplegable que genera, se copie también el ID de dicha selección, estoy probando con la opción afterUpdateElement: pero no hay manera!!

os pongo el código amigos...

el HTML

Código HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
       
        <script src="prototype.js" type="text/javascript"></script>
        <script src="effects.js" type="text/javascript"></script>
        <script src="controls.js" type="text/javascript"></script>
       
        <style type="text/css">
                                        div.auto_complete {
            width: 350px;
            background: #fff;
          }
          div.auto_complete ul {
            border:1px solid #888;
            margin:0;
            padding:0;
            width:100%;
            list-style-type:none;
          }
          div.auto_complete ul li {
            margin:0;
            padding:3px;
          }
          div.auto_complete ul li.selected {
            background-color: #ffb;
          }
          div.auto_complete ul strong.highlight {
            color: #800;
            margin:0;
            padding:0;
          }
  </style>
</head>

<body>
        <form name="tarifas" method="post">
                <table cellspacing="0" cellpadding="0" border="0">
                        <tr>
                                <td width="70" class="texto4">cliente:</td>
                                <td width="200"><input autocomplete="off" id="cliente_name" name="cliente" size="57" type="text" class="textForm" value="" /><div class="auto_complete" id="client_name_auto_complete"></div><span id="indicator1" style="display: none"><br>buscando...</span></td>
                        </tr>
                </table>
                <input type="text" name="id" id="id">
                <script type="text/javascript">
                        new Ajax.Autocompleter('cliente_name', 'client_name_auto_complete', 'data.php', {indicator:'indicator1', afterUpdateElement : getSelectionId})
                       
                        function getSelectionId(text, li) {
                                alert (li.id);
                        }
                </script>
        </form>
</body>
</html>

el PHP

Código PHP:

<?php
    $ruta 
"../web/";
    
    include_once(
$ruta."includes/incFunciones.php");
    include_once(
$ruta."includes/incConexion.php");
    
    
$texto $_POST['cliente'];
    
//$texto = "Ba";
    
$sql "select id_franquicia,nombre FROM franquicias WHERE nombre LIKE '".$texto."%' ORDER BY nombre ASC";
    
    
$query mysql_query($sql,$link);
        
    
$personas = array();
    
$i=0;
    while(
$row_c=mysql_fetch_array($query)){
        
$personas[$i][1] = $row_c["id_franquicia"];
        
$personas[$i][2] = $row_c["nombre"];
        
//echo($personas[$i][1] . " - " . $personas[$i][2]."<br>");
    
$i++;
    }
    
mysql_free_result($query);

if (
$texto) {
  
$respuesta '';
  foreach (
$personas as $indice => $persona) {
    
//echo($indice."<---".$persona[2]."<br>");
    
if (preg_match("/^$apellido/i"$persona[2])){
      
$respuesta .= '<li id="'.$persona[1].'">'.$persona[2].'</li>';
    }
  }
  if (!
$respuesta){
    
$respuesta "<i>No hay coincidencias con '$apellido'</i>";
}
  echo(
"<ul>".$respuesta."</ul>");
}
?>

No entiendo que sea tan complicado poder seleccionar el ID, lo devuelvo el en la lista como dice el ejemplo

http://wiki.script.aculo.us/scriptac....Autocompleter

Mil gracias amigos!!

GatorV 21/02/2008 11:49

Re: problemilla con autocompleter de scriptaculous.
 
Te regresa los datos correctos tu script? Es decir, ya probaste que si te salga el desplegado con los nombres?.

Saludos.

markshock 22/02/2008 01:19

Re: problemilla con autocompleter de scriptaculous.
 
Cita:

Iniciado por GatorV (Mensaje 2294467)
Te regresa los datos correctos tu script? Es decir, ya probaste que si te salga el desplegado con los nombres?.

Saludos.

si, me los devuelve correctamente, el problema es que no me ejecuta el afterUpdateElement

Osea, escribo en el input y me devuelve el desplegable con los datos coincidentes, entonces selecciono uno y ahí tendría que ejecutarse el afterUpdateElement... y hacer un alert... pero nada tio... suda de él...

por lo demás, todo bien!

GatorV 22/02/2008 09:46

Re: problemilla con autocompleter de scriptaculous.
 
Prueba así:
Código:

<script type="text/javascript">
                        new Ajax.Autocompleter('cliente_name', 'client_name_auto_complete', 'data.php', {indicator:'indicator1', afterUpdateElement : function(text, li) { alert (li.id); } });
                </script>

Saludos.


La zona horaria es GMT -6. Ahora son las 05:23.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.