JavaScript - Cambiar attr de un input, basado en el valor de otro input

 
Vista:
Imágen de perfil de fernando

Cambiar attr de un input, basado en el valor de otro input

Publicado por fernando (3 intervenciones) el 09/12/2015 01:01:57
Hola a todos, y gracias de antemano, ¡cualquier ayuda es bienvenida!.

1) Tengo el siguiente formulario (lo resumo):

1
2
3
4
5
6
7
<form>
<input type="text" value="" id="cuota1" />
<input type="date" value="" id="cuota1_fecha" required />
 
<input type="text" value="" id="cuota2" />
<input type="date" value="" id="cuota2_fecha" required />
<form>

2) Lo que quiero hacer es que, cada vez que se ingrese un valor en el campo de "cuota", automáticamente el campo que le corresponde a la "fecha", pase a ser requerido.

Usando este código lo he conseguido, pero para un solo input:

1
2
3
4
5
6
7
8
9
10
11
12
13
<script>
$(window).load(function(){
function $removeRequired()
{$("#cuota1_fecha").removeAttr("required");}
$removeRequired();
$("#cuota1").change(function(){
		var $aAccount = $("#cuota1_fecha");
		$removeRequired();
		if ($("#cuota1").val() > 0)
		{$("#cuota1_fecha").attr("required", "true");}
	});
});
</script>

3) El problema es que no sé cómo hacer para que esto funcione para todos los pares cuota-fecha (que son 12).

¿Alguien sabe cómo hacer esto de forma dinámica?

Desde ya muchísimas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Cambiar attr de un input, basado en el valor de otro input

Publicado por xve (2100 intervenciones) el 09/12/2015 11:06:11
Hola Fernando, te he preparado un simple ejemplo para que veas como se puede hacer...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="utf-8">
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js" type="text/javascript"></script>
 
	<script>
	$(window).load(function(){
		$(".cuota").keyup(function(){
			if ($(this).val() > 0)
			{
				$(this).next().attr("required", "true");
			}else{
				$(this).next().removeAttr("required");
			}
		});
	});
	</script>
</head>
 
<body>
 
<form>
	<input type="text" value="" id="cuota1" class="cuota" />
	<input type="date" value="" id="cuota1_fecha" class="cuotaFecha" />
	<br>
	<input type="text" value="" id="cuota2" class="cuota" />
	<input type="date" value="" id="cuota2_fecha" class="cuotaFecha" />
	<br>
	<input type="text" value="" id="cuota3" class="cuota" />
	<input type="date" value="" id="cuota3_fecha" class="cuotaFecha" />
</form>
 
</body>
</html>

Coméntanos si te sirve, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de fernando

Cambiar attr de un input, basado en el valor de otro input

Publicado por fernando (3 intervenciones) el 09/12/2015 13:38:38
¡Funciona perfectamente!

Muchísimas gracias xve, una respuesta excelente en tiempo récord.

Es la primera vez que publico algo aquí y no pensé que recibiría una respuesta tan rápido. Estoy gratamente sorprendido.

¡Mil gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de fernando

Cambiar attr de un input, basado en el valor de otro input

Publicado por fernando (3 intervenciones) el 11/12/2015 12:02:23
Por cierto xve, te he enviado un mensaje privado. ¡Un saludo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar