Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/01/2016, 13:12
jmg1189
 
Fecha de Ingreso: septiembre-2015
Mensajes: 58
Antigüedad: 8 años, 7 meses
Puntos: 2
Respuesta: asignar required a inputs cuando se seleccione un checkbox

Cita:
Iniciado por Alexis88 Ver Mensaje

Un saludo
hola alexis88, muchas gracias por tu pronta respuesta.
Intente de la siguiente forma, y me ha funcionado, te muestro y me dices que opinas, ya que supongo que pues puede haber una forma no tan poco práctica o no sé como llamarle jeje. mira:

el checkbox lo declaro así;

Código PHP:
Ver original
  1. <input type='checkbox' name='pedir<? echo $i?>' id="pedir<? echo $i;?>" onclick="asignar(<? echo $i;?>);" value='si'>


y la función que usé fue así;

Código Javascript:
Ver original
  1. function asignar(i){//funcion que asigna el valor required a las cajas de la fila donde se pulse el checkbox para solicitar un elemento.
  2.             var x = i;
  3.             var elemento=document.getElementById("pedir"+x);
  4.             if(elemento.checked){
  5.                 document.getElementById("und"+x).required=true; document.getElementById("cant"+x).required=true; document.getElementById("marca"+x).required=true;
  6.                 document.getElementById("ref"+x).required=true; document.getElementById("descripcion"+x).required=true; document.getElementById("proyecto"+x).required=true;
  7.                 document.getElementById("und"+x).disabled=false; document.getElementById("cant"+x).disabled=false; document.getElementById("marca"+x).disabled=false;
  8.                 document.getElementById("ref"+x).disabled=false; document.getElementById("descripcion"+x).disabled=false; document.getElementById("proyecto"+x).disabled=false;
  9.                 document.getElementById("comenta"+x).disabled=false;
  10.             }else{
  11.                 document.getElementById("und"+x).required=false; document.getElementById("cant"+x).required=false; document.getElementById("marca"+x).required=false;
  12.                 document.getElementById("ref"+x).required=false; document.getElementById("descripcion"+x).required=false; document.getElementById("proyecto"+x).required=false;
  13.                 document.getElementById("und"+x).disabled=true; document.getElementById("cant"+x).disabled=true; document.getElementById("marca"+x).disabled=true;
  14.                 document.getElementById("ref"+x).disabled=true; document.getElementById("descripcion"+x).disabled=true; document.getElementById("proyecto"+x).disabled=true;
  15.                 document.getElementById("comenta"+x).disabled=true;
  16.             }
  17.         }

Admito que tal vez no es la mejor manera de hacerlo, puesto que como te indico, no es mucho lo que sé sobre javascript. Pero ha funcionado jeje.

muchas gracias por tu ayuda.