Foros del Web » Programando para Internet » Javascript »

Problema con FAQ Combobox multiple.

Estas en el tema de Problema con FAQ Combobox multiple. en el foro de Javascript en Foros del Web. Buenas, estoy usando el FAQ: http://www.forosdelweb.com/showthrea...655#post259655 Estoy teniendo problemas, les explico. Yo saco los datos desde la DB, el código lo modifiqué y lo dejé ...
  #1 (permalink)  
Antiguo 05/05/2007, 12:58
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 9 meses
Puntos: 0
Problema con FAQ Combobox multiple.

Buenas, estoy usando el FAQ:

http://www.forosdelweb.com/showthrea...655#post259655

Estoy teniendo problemas, les explico. Yo saco los datos desde la DB, el código lo modifiqué y lo dejé así:

Código PHP:
  <script language="JavaScript"> 

   function addOpt(oCntrl, iPos, sTxt, sVal){ 
     var selOpcion=new Option(sTxt, sVal); 
     eval(oCntrl.options[iPos]=selOpcion); 
   } 

   function cambia(oCntrl){ 
    while (oCntrl.length) oCntrl.remove(0); 
    switch (document.fvalida.artista.selectedIndex){ 
    <?php
    $sql
="SELECT id_artista,nombre FROM artistas";
    
$result=mysql_query($sql,$idcon);
    while(
$row=mysql_fetch_assoc($result)){
    echo 
'case '.$row['id_artista'].':';
    
$id_artista=$row['id_artista'];
    
$sql2="SELECT id_disco,titulo FROM discos WHERE artista='$id_artista'";
    
$result2=mysql_query($sql2,$idcon);
    
$conta=-1;
    while(
$filas=mysql_fetch_assoc($result2)){
    
$conta++;
    echo 
'addOpt(oCntrl,  '.$conta.', "'.$filas['titulo'].'", "'.$filas['id_disco'].'"); ';
    }    
    echo 
'break;';
    }
    
?>
    } 
   } 
  </script>
Este codigo se transforma en esto:

Código PHP:
<SCRIPT language=JavaScript

   function 
addOpt(oCntrliPossTxtsVal){ 
     var 
selOpcion=new Option(sTxtsVal); 
     eval(
oCntrl.options[iPos]=selOpcion); 
   } 

   function 
cambia(oCntrl){ 
    while (
oCntrl.lengthoCntrl.remove(0); 
    switch (
document.fvalida.artista.selectedIndex){ 
    case 
5:
    
addOpt(oCntrl,  0"On The Leyline""2"); 
    
addOpt(oCntrl,  1"Great Rock Classics Of Our Time""11"); 
    
addOpt(oCntrl,  2"American Doll Posse""4"); 
    
addOpt(oCntrl,  3"Call me irresponsible""5"); 
    
addOpt(oCntrl,  4"Spiderman 3""7"); 
    
addOpt(oCntrl,  5"Los números 1 de Cadena 100 (2007)""9"); 
    
addOpt(oCntrl,  6"Las aceras están llenas de piojos""10"); 
    break;
    case 
1:
    
addOpt(oCntrl,  0"Zapatillas""1"); 
    
addOpt(oCntrl,  1"N.B.""3"); 
    
addOpt(oCntrl,  2"Trippin up""6"); 
    
addOpt(oCntrl,  3"Malamarismo""8"); 
    break;    
    } 
   } 
  
</SCRIPT> 
En 1 principio bien..pero el problema viene cuando selecciono los selects, cada uno da unos datos distintos, aqui les dejo el codigo donde estan los selects:

Código PHP:
          <select name="artista" class="formularios" id="artista" onChange="cambia(document.fvalida.disco)">
              <option>Selecciona algun artista / grupo</option>
            <?php
        $sql
="SELECT id_artista,nombre FROM artistas";
        
$result=mysql_query($sql,$idcon);
            while(
$row=mysql_fetch_assoc($result)){
            echo 
'<option value='.$row['id_artista'].'>'.$row['nombre'].'</option>';
            }
            
?>
          </select>

        <select name="disco" class="formularios" >
        <option>Seleccione algun artista</option>
        </select>
Saludos y espero que me puedan ayudar
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 19:50.