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

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

Publicado por xve (1594 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