Foros del Web » Programando para Internet » Javascript »

Validar menu desplegable ...

Estas en el tema de Validar menu desplegable ... en el foro de Javascript en Foros del Web. Hola tengo un caldo de cabeza Tengo un menu dinamico que necesito validar, su nombre es $cboIda, este depende del numero de niños que el ...
  #1 (permalink)  
Antiguo 08/09/2004, 11:17
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
Sonrisa Validar menu desplegable ...

Hola tengo un caldo de cabeza

Tengo un menu dinamico que necesito validar, su nombre es $cboIda, este depende del numero de niños que el usuario determine que va a transportar. Con la pagina designo el orden en el cual se ira buscando cada niño. Por lo tanto NO pueden haber dos niños que sean buscados en el mismo numero de orden.Para almacenar los valores manejo una matriz.
1.- Por ejemplo $cboIda[0][1]=1 es el identificador del niño 1
2.- $cboIda[2][1]=2 Indica que sera buscado el segundo lugar el dia MARTES

ID NIÑO |Dia Lunes |Dia Martes.. etc hasta el viernes
[0][1]=1 | [1][1]=1 |[2][1]=2
[0][2]=23| [1][2]=2 |[2][2]=1
[0][3]=12| [1][3]=3 |[2][3]=3


pueden ser 'N' niños, y no se puede repetir el numero de posicion.

Por pantalla se despiligan de esta mismo modo los datos
id niño | lunes|martes|miercoles|jueves|viernes
1
23
12
y en el espacio de los dias se muestra el menu desplegable con la opcion de poder elegir entre la posicion 1,2 ó 3.

Cualquier ayuda se agradece...

Adiosiiiiiiiiiiiin
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
  #2 (permalink)  
Antiguo 08/09/2004, 11:25
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 19 años, 8 meses
Puntos: 0
haber si entendi:

Se supone que el niño "x" no puede estar dos dias en la misma posición? es decir, lunes=1 y martes=1 es invalido?

o Solo se refiere a que no pueden haber dos niños con el mismo numero el mismo dia?(esto es casi que obvio)

en caso de ser afirmativa la respuesta a la primera pregunta, entonces habra que asumir que al menos habra tantos niños como dias...

si es solo lo segundo, deberas verificar el valor que se vaya asignando a cada niño en el mismo dia (el ultimo niño sale por defecto).

espero comentarios...

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #3 (permalink)  
Antiguo 08/09/2004, 11:37
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
puede que el dia lunes, martes, miercoles, jueves y viernes esten en la misma posicion lo que importa que en el mismo dia por ejemplo dia lunes niño 1 y el niño 23 no lo puedes ir a buscar los dos en la posicion 1.
LUNES
[1][1]=1
[1][2]=1
[1][3]=2
ESO NO PUEDE SER. pienza que es un furgon utilitario que hace un recorrido y no puedes tener dos niños con el mismo numero por que no sabria entoncers cual ir a buscar primero. NO se si se entiende?
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
  #4 (permalink)  
Antiguo 08/09/2004, 12:10
Avatar de claray  
Fecha de Ingreso: agosto-2004
Ubicación: ahora... en Caracas
Mensajes: 345
Antigüedad: 19 años, 8 meses
Puntos: 0
mas claro, seria transparente

Entonces imagino que el punto es que no sabes como verificar el valor de los select que se vayan asignando?

como el punto es igual para cada dia... para un dia especifico:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>

<script type="text/javascript">
var cantNinos = 5; //cantidad de niños
function llenadata(dia){
for (var i=0;i<cantNinos;i++){
var objSelect = document.getElementById(dia+"_"+(i+1));
for (var j=1;j<=cantNinos;j++){
var objOption = document.createElement("OPTION");
objSelect.options.add(objOption);
objOption.innerText = j;
objOption.value = j;
}
objSelect.selectedIndex = i;
}

}
function completa(){
llenadata("lunes");
}
function verSelect(dia){
var ok = true;
for (var i=0;i<cantNinos;i++){
var objSelect = document.getElementById(dia+"_"+(i+1));
for (var j=0;j<cantNinos;j++){
if (i!=j){
var objSelect1 = document.getElementById(dia+"_"+(j+1));
if (objSelect.selectedIndex==objSelect1.selectedIndex ) {ok=false;}
}
}
}
if(!ok){alert("No puede");}
return ok;
}

function validartodo(){
if (!verSelect("lunes")){alert("error");}
}
</script>
</head>
<body onload="completa();">
<table>
<tr>
<td>1</td><td><select id="lunes_1" onchange="verSelect('lunes');"></select></td>
</tr>
<tr>
<td>2</td><td><select id="lunes_2" onchange="verSelect('lunes');"></select></td>
</tr>
<tr>
<td>3</td><td><select id="lunes_3" onchange="verSelect('lunes');"></select></td>
</tr>
<tr>
<td>4</td><td><select id="lunes_4" onchange="verSelect('lunes');"></select></td>
</tr>
<tr>
<td>5</td><td><select id="lunes_5" onchange="verSelect('lunes');"></select></td>
</tr>
</table>
<input type="button" value="Fin" onclick="validartodo();">
</body>
</html>

esto verifica para el lunes, habria que repetir para cada dia.

saludos.
__________________
:pirata: El arte de desarrollar es dejar que los otros lo hagan
  #5 (permalink)  
Antiguo 08/09/2004, 13:21
Avatar de netorres  
Fecha de Ingreso: marzo-2004
Ubicación: 32 kms de Santiago a la costa
Mensajes: 132
Antigüedad: 20 años, 1 mes
Puntos: 0
te pasaste muchas gracias... aveces no me da ca cabeza para javascript porque no se mucho de lenguaje.... le pego más al php...


Lo modifique. amis necesidades y parece que esto OkidokY..
__________________
Contento Señor contento :-) (Sto. Padre Alberto Hurtado)
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 03:51.