Primero les comento de manera general que es lo que quiero hacer, bueno tenemos dos select, en uno se llena con datos extraidos de una base de datos, en el otro select solo aparece vacio. Bueno lo que quiero hacer es que cuando el usuario seleccione cualquiera de los elementos (uno o muchos) ya sea con SHIFT o CONTROL que se encuentran en el primer select, automaticamente el select vacio se llene con los elementos que se seleccionaron en el primer select.
He hecho la aplicacion y si lo hace pero cuando solo selecciono uno, cuando quiero seleccionar dos o mas me manda un error y no hace nada. Les pongo el codigo.
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> <title>Demo Normalizar</title> </head> <script language="javascript"> function cambia_datos(sel){ cuenta = 0; datos = new Array(); for (i = 0, total = sel.length; i < total; i ++) if (sel[i].selected) datos[cuenta++] = sel[i].value; for(j=0, cont = datos.length; j < cont; j++) { document.frmnormalizar.res_temas.options[j].text=datos[j]; } } </script> <form name="frmnormalizar" action="" method="post"> <table border="0"> <tr> <td bgcolor="#dadada"></td> <td bgcolor="#F3F4F5">
Código PHP:
<?php
$sql="SELECT DISTINCT Pais FROM paises ORDER BY Pais";
$res=mysql_query($sql,$link);
$cont = 0;
echo"<select size='20' name='pais' font-family:Arial;\" multiple onchange='cambia_datos(this)'>";
echo "<option value='$cont'></option>";
if($row=mysql_fetch_array($res))
do{
if($row["Pais"]!="")
echo "<option value='".$row["Pais"]."'>".$row["Pais"]."</option>";
$cont++;
}while($row=mysql_fetch_array($res));
echo "</select>";
mysql_free_result($res);
?>
Código HTML:
</td> </tr> <tr> <td bgcolor="#dadada"></td> <td bgcolor="#F3F4F5"> <select size="6" name="res_temas"> <option value=''>...............Normalizar...............</option> </select> </td> </tr> </table> </form> <body> </body> </html>
Linea: 17
Car: 5
Error: 'document.frmnormalizar.res_temas.options[...]' es nulo o no es objeto
Codigo: 0
Espero de verdad que alguien pueda ayudarme, porque creo yo que ya casi la tengo lista.
De ante mano muchas GRACIAS por su atencion y ayuda.