Foros del Web » Programando para Internet » Javascript »

Case con varios valores

Estas en el tema de Case con varios valores en el foro de Javascript en Foros del Web. Hola.. quiero hacer esto: switch(String(fecAcciMes.value)) { case "01","03","05","07","08","10","12": var xfecAcciDias = 31; break; case "04","06","09","11": var xfecAcciDias = 31; break; case "02": if((anho % 4 ...
  #1 (permalink)  
Antiguo 09/09/2005, 14:02
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
Pregunta Case con varios valores

Hola.. quiero hacer esto:

switch(String(fecAcciMes.value))
{
case "01","03","05","07","08","10","12":
var xfecAcciDias = 31;
break;
case "04","06","09","11":
var xfecAcciDias = 31;
break;
case "02":
if((anho % 4 == 0 && anho % 100 != 0) || (anho % 100 == 0 && anho % 400 == 0))
var xfecAcciDias = 29;
else
var xfecAcciDias = 28;
break;
}

qué supuestamente hace esto... agarra el numero de mes q el usuario ha elegido y quiero ver q numero de mes es.. segun eso pongo los dias q tiene.. pero no me hace caso con los "01","03", etc... solo funciona si solo pongo x ejemplo
case "01":
pero no
case "01","03":

como hago eso? para ni tener q escribir tantos cases?
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #2 (permalink)  
Antiguo 09/09/2005, 17:56
 
Fecha de Ingreso: octubre-2004
Ubicación: España
Mensajes: 894
Antigüedad: 19 años, 6 meses
Puntos: 3
case "01":
case "03":
case "05":
case "07":
case "08":
case "10":
case "12":
var xfecAcciDias = 31;
break;

__________________
Angel :cool:
  #3 (permalink)  
Antiguo 09/09/2005, 20:28
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Creo que esta funcion es mejor
Código HTML:
<script language="javascript">
var nroDias =  new Array(31,28,31,30,31,30,31,31,30,31,30,31);
function cuantosDias()
{
	alert(nroDias[document.form1.meses.selectedIndex]);
}
</script> 
Solo te dejo de tarea, cuando el mes es febrero.
Si no te sale, solo escribe.
  #4 (permalink)  
Antiguo 09/09/2005, 21:22
Avatar de mamon  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 1.302
Antigüedad: 22 años, 3 meses
Puntos: 3
Gracias... les dejo lo que hice y de paso les explico qué quería hacer.. lo que queria hacer es que el usuario elija el año y el mes de un menú.. y según eso que en el menu de los dias salga cuantos dias hay.. tons lo que hice fue esto...

Código PHP:
 <script language="javascript">
function 
eliminarOptions(nombre){
var 
combo document.getElementById(nombre);
while(
combo.options.length 1){
combo.remove(combo.options.length-1);
}
}
function 
mostrarDias(){
eliminarOptions("fecDia");
var 
xfecAno document.getElementById("fecAno");
var 
xfecMes document.getElementById("fecMes");
var 
nroDias = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if(
xfecAno.value != "" && xfecMes.value != ""){
xfecDias nroDias[xfecMes.selectedIndex-1];
if(
String(xfecMes.value) == "02"){
if((
xfecAno.value == && xfecAno.value 100 != 0)||
(
xfecAno.value 100 == && xfecAno.value 400 == 0))
var 
xfecDias 29;
}
for(var 
i=1;i<=xfecDias;i++){
document.getElementById("fecDia").options[i] = new Option(ii);
}
}
 
 
}
</script> 
Código HTML:
 An&oacute;
<select onchange="mostrarDias()" name="fecAno" id="fecAno">
<option value=""></option>
<option value="2005">2005</option>
<option value="2004">2004</option>
<option value="2003">2003</option>
<option value="2002">2002</option>
<option value="2001">2001</option>
<option value="2000">2000</option>
</select> 
Mes
<select onchange="mostrarDias()" name="fecMes" id="fecMes">
<option value=""></option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
<option value="05">05</option>
<option value="06">06</option>
<option value="07">07</option>
<option value="08">08</option>
<option value="09">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select> 
D&iacute;a
<select name="fecDia" id="fecDia">
<option value=""></option>
</select> 
__________________
Yo si sé lo que es trabajar duro, porque lo he visto.
  #5 (permalink)  
Antiguo 10/09/2005, 03:57
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Podrias eliminar el atributo value de los select, y usar la propiedad xfecMes.selectedIndex, y xfecAno.text.
Por cierto, me parece que no deberia ir el -1
xfecDias = nroDias[xfecMes.selectedIndex-1];
La idea es, tratar de optimizar nuestras funciones.
PD: me gusto tu firma

Última edición por flaviovich; 10/09/2005 a las 04:10
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 21:24.