Foros del Web » Programando para Internet » Javascript »

Recorrer un select

Estas en el tema de Recorrer un select en el foro de Javascript en Foros del Web. Saludos a todos. Estoy trabajando con un form que tiene 2 campos select y quisiera recorrer cada una de las opciones pero me pierdo en ...
  #1 (permalink)  
Antiguo 20/11/2008, 13:24
 
Fecha de Ingreso: octubre-2008
Mensajes: 109
Antigüedad: 16 años
Puntos: 0
Recorrer un select

Saludos a todos.
Estoy trabajando con un form que tiene 2 campos select y quisiera recorrer cada una de las opciones pero me pierdo en las instrucciones.
Esto es lo que tengo:
Código:
function validarCiclo(formulario)
{	
	for(var i=0;i<document.myform.cicloA.length;i++)
	{
	//for(var z=0;z<document.myform.length;z++)
	alert(document.myform.cicloA.elements[i].value);
}

****************
<body>
<form name="myform" onsubmit="return validarCiclo(this.form);"  >
<table>
<tr>
<td>Ciclo de Atención
<td><select name="cicloA" size="1" >
   <option value="0">Por definir</option>
   <option value="1">2008-2009</option>
   <option value="2">2009-2010</option>
   <option value="3">2010-2011</option>
   <option value="4">2011-2012</option>
   </select>
</td>     
</tr>
<tr>
<td>Ciclo de Atención2
<td><select name="cicloA2" size="1" >
   <option value="0">Por definir</option>
   <option value="1">2008-2009</option>
   <option value="2">2009-2010</option>
   <option value="3">2010-2011</option>
   <option value="4">2011-2012</option>
   </select>
</td>     
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="Submit">
</tr>
</table>
</form>
</body>
Como puedo accesar a los valores de cada select por medio de un for??
Es algo como esto pero no entiedo:
Código:
window.document.customerform.elements["firstname"].
  #2 (permalink)  
Antiguo 20/11/2008, 13:39
 
Fecha de Ingreso: octubre-2008
Mensajes: 109
Antigüedad: 16 años
Puntos: 0
Respuesta: Recorrer un select

function validarCiclo(formulario)
{ alert("tamaño:"+document.myform.cicloA.length);
alert(document.myform.elements.length);
for(var i=0;i<document.myform.elements.length;i++)
{
for(var z=0;z<document.myform.elements[i].length;z++)
alert("i"+i+" z"+z+document.myform.elements[i].options[z].value);
}
}

</head>

<body>
<form name="myform" onsubmit="return validarCiclo(this.form);" >
<table>
<tr>
<td>Ciclo de Atención
<td><select name="cicloA" size="1" >
<option value="0">Por definir</option>
<option value="1">2008-2009</option>
<option value="2">2009-2010</option>
<option value="3">2010-2011</option>
<option value="4">2011-2012</option>
</select>
</td>
</tr>
<tr>
<td>Ciclo de Atención2
<td><select name="cicloA2" size="1" >
<option value="0a">Por definir</option>
<option value="1a">2008-2009</option>
<option value="2a">2009-2010</option>
<option value="3a">2010-2011</option>
<option value="4a">2011-2012</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="Submit">
</tr>
</table>
</form>
</body>
</html>

[/CODE]

Yeah
  #3 (permalink)  
Antiguo 20/11/2008, 13:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Recorrer un select

Código javascript:
Ver original
  1. function validarCiclo(formulario)
  2. {    
  3.     for(var i=0;i<document.myform.cicloA.length;i++)
  4.     {
  5.     //for(var z=0;z<document.myform.length;z++)
  6.     alert(document.myform.cicloA.elements[i].value);
  7. }
Ese código que tienes está más o menos bien. Solo que tienes algunos problemas, primero, que debe ir entre etiquetas <script> y </script>. Otra cosa, en la línea 4 estás abriendo una llave para el bucle for pero no la estás cerrando en ninguna parte con la llave de cierre (}), además, en la línea 6 no debería ser elements sino options para recorrer las opciones del select.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 18:43.