Saludos:
Ando liado con un select dinámico. Para hacer el código un poco más limpio, le estoy añadiendo los manejadores de eventos mediante JavaScript. He puesto un alert para controlar que el objeto exista, y justo después, añado el manejador. El alert salta correctamente, pero no puedo añadir el manejador en cuestión, porque me la web me dice que el objeto (los option del select) no están definidos. Este es el código:
Código PHP:
<select id="raza" name="raza">
<option value="null">Selecciona Raza</option>
<?php
for($x = 0;$x < $n[0];$x++)
{
$raza = mysql_fetch_row($query);
echo "<option value=\"{$raza[0]}\">{$raza[0]}</option>";
}
?>
</select>
Hasta aquí, bien, todo funciona correctamente. Aquí el js:
Código Javascript
:
Ver originalwindow.addEventListener('load',iniciar,false);
var races = ''; //la pongo fuera porque la uso en más funciones
function iniciar()
{
races = document.getElementById("raza");
for(i = 1; i < races.options.length; i++)
{
alert(races.options[i].value); //este alert me da el valor correctamente
races.options[i].addEventListener('click',function(){clase_raza(races.options[i].value)},false); //esta línea me da fallo, dice que "races.options[i] is undefined"
}
}
No entiendo por qué me toma el objeto como indefinido, si una línea más arriba me lo coge bien. ¿Me podríais decir qué pasa aquí, por favor?
Muchas gracias a todos/as.