Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2008, 11:11
Avatar de markshock
markshock
 
Fecha de Ingreso: abril-2004
Ubicación: Allí, al fondo a la izqui
Mensajes: 316
Antigüedad: 20 años, 8 meses
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"
_________________________________