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>
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>");
}
?>
http://wiki.script.aculo.us/scriptac....Autocompleter
Mil gracias amigos!!