Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/01/2006, 09:07
Avatar de fatherjuan
fatherjuan
 
Fecha de Ingreso: mayo-2005
Ubicación: Estado de México
Mensajes: 132
Antigüedad: 19 años, 10 meses
Puntos: 0
Busqueda con un select list

Hola me encontre en este foro un buen JS que te busca cadenas en un select list es este:
Código HTML:
 <html>
 <head>
 <script>
 function sel(c){
 
 c = c.toLowerCase();
 
 formu=document.forms['formulario'];
 caracteres=c.length;
if(caracteres!=0){
 for (x=0;x<formu['lista'].options.length;x++){
 if(formu['lista'].options[x].value.slice(0,caracteres)==c){
 formu['lista'].selectedIndex=x;
formu['lista'].style.visibility="visible";
 break;
}else{
 formu['lista'].style.visibility="hidden";
 }
 }
 }else{
 formu['lista'].style.visibility="hidden";

 }
 }
 </script></head>


 <body>
 <form action="index.php" name="formulario" >
 <input type="text" name="buscar" onKeyUp="sel(this.value)" style="width:200px;"><br>
 <select name="lista" size="5" style="width:200px;visibility:hidden">
{LISTA}
 </select>
 </form>
 </body>
 </html> 
Y funciona muy bien si los datos del select list se ingresan manualmente, sin embargo estoy intentando usar PHP para obtener los datos de MySQL y ahí nada de nada.

Este es el codigo PHP


Código PHP:
function directorio()
{


$db=mysql_connect("localhost","root",""); //devuelve el valor de la base de datos para crear la conexion
mysql_select_db("base_de_datos",$db);

$html = new NokTemplate('./');
$html->cargar('tHeader'"busca_java.htm");
$html->cargar('tBody'"");

$html->cargarVirtual('Opciones','<option value ={VALOR}>{OPTION}</option>');
        
        
$query_dierctorio "SELECT * FROM directorio"
        
$result_dierctorio mysql_query($query_dierctorio$db);
        
$row_dierctorio '';
                    while(
$row_dierctorio mysql_fetch_array($result_dierctorio))
                        {
                        

                        
$html->asignar('VALOR'$row_dierctorio['nombre']);
                        
$html->asignar('OPTION'$row_dierctorio['nombre']);

                        
$html->expandir('LISTA''+Opciones');
                        } 

        
$html->expandir('CONTENIDO''tBody');
$html->expandir('FINAL''tHeader');
$html->imprimir('FINAL');



Y la explico Brebemente:

Las etiquetas entre {} pertenecen a una clase que se llama Noktemplates http://www.jpw.com.ar/?lugar=descargas , a traves de esta clase incrustas templetes html en PHP, lo que intento hacer es cargar virtualmente el select list con los datos obtenidos de MySQL hasta aqui todo bien, pero el JS no funciona con esta informacion cargada por medio de PHP, pienso sin conocer bien lo que digo, que se debe a que en realidad el select list es virtual no?

Porfavor alguien digame si lo que intento hacer es posible, porque estoy atorado en esto.

Nota, este post ya lo puse en la seccion de PHP y nadie lo ha contestad.