Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/12/2010, 03:39
bienpiyao
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Varios Selects relacionados

Cita:
Iniciado por maycolalvarez Ver Mensaje
¿no es más simple que primero muestres solo un select, luego de que el usuario elija, llenes otro select pero con modalidad múltiple, y vuelvas a recargar el primero pero eliminando las opciones elegidas, y si haces cien en el múltiple, se elimine esa opción y recargues de nuevo el primero?.

es cuestión de interfaz, solo concentrarte y trata de dar lógica al requerimiento sin volverlo complicado.
Hola! Gracias por tu comentario.

Lo pensé, pero no me serviría, ya que, esa alineación se guardará y la próxima vez que el usuario entre a esta sección, se cargará directamente la alineación que está guardada, de este modo, si esa semana, sólo quiere cambiar un jugador porque esté sancionado o lesionado, pueda hacerlo sin necesidad de tocar todo lo demás. El caso, es que el script que tengo para esto funciona a la mil maravillas si pongo un link en el menú que lo llame, pero si lo integro con AJAX, deja de funcionar, así que es muy probable (estoy seguro) de que tengo que hacer algo más para que el JAVASCRIPT me funcione con AJAX.

Te dejo el código del JAVASCRIPT empleado (en realidad es muy sencillo):

Código HTML:
<html>
	<head>
		<script type="text/javascript">		
			function loadColors() {	
				for (i = 0;i < document.test.elements.length;i++) {
					for (j = 0;j < document.test.elements[i].options.length;j++) {
						document.test.elements[i].options[j].disabled = false;
						for (k = 0;k < document.test.elements.length;k++) {
							if (i != k) {
								if (document.test.elements[i].options[j].text == document.test.elements[k].options[document.test.elements[k].selectedIndex].text)
									document.test.elements[i].options[j].disabled = true;								
							}
						}		
					}
				}				
			}										
		</script>
	</head>
		<form name="test" action="" method="">
			<select name="opcion1" onChange="loadColors();">
				<option selected="true" value="1">Rojo</option> 
				<option value="2">Verde</option> 
				<option value="3">Azul</option>
				<option value="4">Amarillo</option> 
			</select> 
			<select name="opcion2" onChange="loadColors();">
				<option value="1">Rojo</option> 
				<option selected="true" value="2">Verde</option> 
				<option value="3">Azul</option>
				<option value="4">Amarillo</option> 
			</select> 
			<select name="opcion3" onChange="loadColors();">
				<option value="1">Rojo</option> 
				<option value="2">Verde</option> 
				<option selected="true" value="3">Azul</option>
				<option value="4">Amarillo</option> 
			</select> 					
		</form>
	</body>
</html> 
Como ves, está hecho para colores, pero cambié los nombres de los colores por nombres de futbolistas, y obviamente, funciona igual. El problema es que, este JAVASCRIPT se debe ejecutar en una capa que se carga con AJAX, es decir, en una parte de la web, no en toda la web. Así que, imagina que tengo la index.php, que se carga al principio, y cada vez que pulso en el botón para elegir una táctica, me carga sólo una capa con dicha táctica, pero sigo estando en index.php. En este caso, mi JAVASCRIPT NO funciona :(.

Mil gracias por tu ayuda.

SaludoS!!