Miércoles 20 de Noviembre de 2024, 10:20
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
JavaScript
(Moderador:
F_Tanori
) »
Select's Con Variables
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Select's Con Variables (Leído 2466 veces)
Slimer
Miembro activo
Mensajes: 59
Select's Con Variables
«
en:
Viernes 4 de Junio de 2004, 15:06 »
0
Hola a todos:
Tengo dos pequeños problemas.
Me gustaría montar un formulario con 60 select’s (unos pocos), y tienen que estar concatenados unos con otros de la siguiente forma:
Supongamos que queremos introducir estadísticas de PC’s, y todo ello esta vinculado con una BD en MySQL y PHP.
La estructura principal de los select sería por ejemplo:
Fecha = introducimos fecha o la recuperamos de una BD.
Equipo1 = Select de equipos
Porcentaje1 = Select porcentaje equipo 1
TextoTotalPorcentaje0 = Suma de los porcentajes
Equipo2 = Select de equipo 2
Porcentaje2 = select porcentaje equipo 2
.....
Estructura para intentar explicarme mejor:
Fecha equipo10 porcentaje10 equipo20 porcentaje20 equipo30 porcentaje30 TextoTotalPorcentaje0
Fecha equipo11 porcentaje11 equipo21 porcentaje21 equipo31 porcentaje31 TextoTotalPorcentaje1
Fecha equipo12 porcentaje12 equipo22 porcentaje22 equipo32 porcentaje32 TextoTotalPorcentaje2
..........
Fecha equipo19 porcentaje19 equipo29 porcentaje29 equipo39 porcentaje39 TextoTotalPorcentaje9
Lo que me gustaría hacer es, que en un primer momento haga una consulta a la BD y coja los valores de que equipos hay registrados, y los porcentajes también introducidos en una tabla (5%, 10% .... 95%, 100%) . Hasta aquí, el como hacerlo lo tengo mas o menos claro, pero...
PROBLEMA 1:
Si en el porcentaje10 selecciono un 35% por ejemplo,,, en el porcentaje20 que solo me de las opciones desde el 65% para abajo (al igual que si en equipo 10 seleccionamos “Ordenador1”, en equipo20 no me diera la esa opción)... Había pensado en hacer una nueva consulta a la BD y filtrarlo en PHP, pero me gustaría “ahorrar” peticiones innecesarias al servidor. Como se podría hacer?
PROBLEMA 2:
Como son tanta cantidad de Selects, y van a contener la misma información,,, habría alguna forma de reducir los 60 Scripts (aprox.) iniciales que se necesitarían (para rellenar cada uno de los Select, a (creo que 3), puesto que lo único que cambia sería “select1X”. Esa X podría ser una variable que se incremente y asi con esos 3 Scripts (mas o menos) poder gestionar todo??? (o los mínimos posibles!)
Me podéis echar una mano? Es que me he atrancado aquí y no se por donde tirar...
Un saludo y muchas gracias de antemano...
Slimer
Tweet
-----------------------------------------------------
Quien desea aprender, pronto llegará a saber
-----------------------------------------------------
Avalon
Miembro MUY activo
Mensajes: 448
Re: Select's Con Variables
«
Respuesta #1 en:
Viernes 4 de Junio de 2004, 18:51 »
0
Oye tú no conocerás a
fern1979
? Estáis haciendo el mismo proyecto...
http://foros.solocodigo.com/index.php?showtopic=8597
Salu2,
Avalon
Slimer
Miembro activo
Mensajes: 59
Re: Select's Con Variables
«
Respuesta #2 en:
Viernes 4 de Junio de 2004, 23:55 »
0
Hola Avalon:
Pues que yo sepa no, la verdad...
Te cuento exactamente para que necesito esto...
Yo trabajo en una empresa, y la verdad es que nos cargan un poquito de faena, y pense en hacer una herramienta para intentar "liberarnos" un poco del papeleo mas costoso., pero la verdad que lo que cuenta fern1979 se parece bastante a lo que yo necesito!
Por lo que veo, dominas bastante el tema; podrías hecharme una mano?
Un saludo
Slimer
P.D. He mirado el codigo que le pusiste a Fern1979 y la verdad es que yo lo hacia mas complicado!.
-----------------------------------------------------
Quien desea aprender, pronto llegará a saber
-----------------------------------------------------
Slimer
Miembro activo
Mensajes: 59
Re: Select's Con Variables
«
Respuesta #3 en:
Lunes 7 de Junio de 2004, 17:54 »
0
Hola a todos:
He encontrado una forma de poner lo de los porcentajes (problema 1), pero aun no he podido hacer nada con el "PROBLEMA 2".
Alguien me podría dar alguna idea sobre el "PROBLEMA 2" ???
P.D. (cuando tenga depuradito el tema 1 ya lo pongo...).
Un saludo
Slimer
-----------------------------------------------------
Quien desea aprender, pronto llegará a saber
-----------------------------------------------------
Avalon
Miembro MUY activo
Mensajes: 448
Re: Select's Con Variables
«
Respuesta #4 en:
Lunes 7 de Junio de 2004, 18:06 »
0
Si todos los selects van a llevar la misma información puedes hacerlo con un bucle
Código: Text
for ($x = 1; $x <= 60; $x++) {
echo "<select name='select1_'".$x.">\n";
// Aquí va el código con el que añades las opciones del select1
echo "</select>\n";
echo "<select name='select2_'".$x.">\n";
// Aquí va el código con el que añades las opciones del select2
echo "</select>\n";
$x++;
}
Salu2,
Avalon
Slimer
Miembro activo
Mensajes: 59
Re: Select's Con Variables
«
Respuesta #5 en:
Lunes 7 de Junio de 2004, 18:43 »
0
Hola Avalon:
El código en principio me sirve,,, pero se me ocurre el siguiente problema.
Imaginate: son 3 columnas (pongamos). La primera columna irá siempre lo mismo (que elijas el valor del 5 al 100%), pero la segunda, dependiendo de lo que hayas puesto en la primera,,, tomará un valor maximo u otro...
De momento, para una sola fila (me falta depurarlo un poco mas...) tengo el siguiente código:
Código: Text
<script language="JavaScript"> function tessto() {
var valor_por2 = new Array(); var porcentajes2 = new Array(); var k = 0; var valoracion = parseInt(document.formulario.select1[document.formulario.select1.selectedIndex].value); var restado = (100 - valoracion);
if ( valoracion != 100) {
for (i=0; i<numero; i++){
if (valor_por[i] <= restado){
valor_por2[k] = valor_por[i]; //asignamos el valor
porcentajes2[k] = porcentajes[i]; //Asignamos el texto
k +=1;
}
}
var numero2 = porcentajes2.length;
document.formulario.select2.length = numero2;
for (k=0; k<numero2; k++){
document.formulario.select2.options[k].value = valor_por2[k];
document.formulario.select2.options[k].text = porcentajes2[k];
}
}
if (valoracion == 100) {
numero2 = 1; var defval; var defpor = "-"; var j = 0;
document.formulario.select2.length = numero2;
document.formulario.select2.options[j].value = defval;
document.formulario.select2.options[j].text = defpor;
document.formulario.texto.value = valoracion;
}
}
</script>
Lo estoy ejecutando con la opcion
Código: Text
<select name="select1" onchange= "tessto()">
</select>
Repito,,, en la opcion 1,,, sin problemas,,, pero en la columna 2 que depende del valor que haya tomado su fila de la columna 1??? como digo en JavaScript que tome el valor de, por ejemplo el select15 en vez de el 14???
No se si me he explicado bien,,, si no terminas de captar el problema que me surge,,, pregunta y te mandaré capturas, etc...
Un saludo y gracias por tu atencion...
Slimer
-----------------------------------------------------
Quien desea aprender, pronto llegará a saber
-----------------------------------------------------
Avalon
Miembro MUY activo
Mensajes: 448
Re: Select's Con Variables
«
Respuesta #6 en:
Lunes 7 de Junio de 2004, 20:07 »
0
Le puedes pasar ese valor a la función
tessto()
Código: Text
for ($x = 1; $x <= 60; $x++) {
echo "<select name='select1_'".$x." onChange='tessto(".$x.")'>\n";
echo "</select>\n";
$x++;
}
Código: Text
<script language="JavaScript">
function tessto(num) {
...
...
...
}
</script>
Para acceder al select en concreto puedes hacerlo a través del array de elementos de un formulario y utilizando ese
num
para encontrar el select correspondiente (tendrás que hacer algunas operaciones)
Código: Text
alert(document.formulario.elements[0].value)
El índice 0 (elements[0]) se corresponderá con el primer select (fila 1 / columna 1)
Salu2,
Avalon
Slimer
Miembro activo
Mensajes: 59
Re: Select's Con Variables
«
Respuesta #7 en:
Lunes 7 de Junio de 2004, 23:55 »
0
Hola:
Me ha surgido un problema.
He intentado implementar en el código lo que me has comentado... Si señor, tiene muy buena pinta, pero hay una cosa que no se hacer (y mis apuntes tampoco!):
Como puedo poner el valor de una variable dentro de un "comando"???
He probado poniendolo entre parentesis, corchetes, ... y no consigo que me tome el valor. Si asigno el valor a una variable, por ejemplo,,, perfecto, pero dentro de elementos.... no lo he conseguido.
Aqui te pongo un pequeño Script de test:
Código: Text
<script language="JavaScript"> function prueba(valu) {
alert (valu); // me da resultado 1.... OK
valoracion = parseInt(document.formulario.select(valu)[document.formulario.select(valu).selectedIndex].value);
alert (valoracion); // no me dice nada .... FALLO
}
</script>
Código: Text
<form name="formulario">
<select name="select1" onchange= "prueba(1)">
</select>
Como siempre,,, Muy agradecido de antemano!!!!
-----------------------------------------------------
Quien desea aprender, pronto llegará a saber
-----------------------------------------------------
Avalon
Miembro MUY activo
Mensajes: 448
Re: Select's Con Variables
«
Respuesta #8 en:
Martes 8 de Junio de 2004, 01:13 »
0
Eso no es posible, por eso te decía que utilizaras el array de elementos del formulario
document.formulario.elements
De todas formas otro método que podrías utilizar es pasarle a la función
tessto
el objeto select en cuestión, sería así
Código: Text
<select name="select1" onChange="tessto(this)">
Código: Text
function tessto(miSelect) {
alert(miSelect.name);
}
Aquí podrías utilizar
miSelect.name
para saber que select es el que se ha cambiado y
miSelect.value
para ver que valor se ha seleccionado.
La ventaja de hacerlo de la primera forma es que con algunas operaciones podrías saber exactamente que select, de que fila y de que columna se ha seleccionado, mientras que de esta segunda forma tendrás que hacerlo a partir del nombre del select
miSelect.name
Salu2,
Avalon
Slimer
Miembro activo
Mensajes: 59
Re: Select's Con Variables
«
Respuesta #9 en:
Martes 8 de Junio de 2004, 23:48 »
0
Hola:
Muchas gracias por la ayuda.... ahora voy a ver si puedo juntarlo todo,,, que la verdad no se por donde cogerlo!!!!!
Muchas gracias por la información,,,, ya os contaré como me va el asunto....
un saludo
Slimer
-----------------------------------------------------
Quien desea aprender, pronto llegará a saber
-----------------------------------------------------
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación Web y Scripting
»
JavaScript
(Moderador:
F_Tanori
) »
Select's Con Variables