Foros del Web » Programando para Internet » Javascript » Frameworks JS »

problemilla con autocompleter de scriptaculous.

Estas en el tema de problemilla con autocompleter de scriptaculous. en el foro de Frameworks JS en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 21/02/2008, 11:11
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
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!!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #2 (permalink)  
Antiguo 21/02/2008, 11:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
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.
  #3 (permalink)  
Antiguo 22/02/2008, 01:19
Avatar de markshock  
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años
Puntos: 0
Re: problemilla con autocompleter de scriptaculous.

Cita:
Iniciado por GatorV Ver Mensaje
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!
__________________
Señoooraaaa!! Que camisetas!!!

"Hay 10 tipos de personas, las que piensan en binario y las que no"
_________________________________
  #4 (permalink)  
Antiguo 22/02/2008, 09:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
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.

Etiquetas: scriptaculous
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:52.