Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] valor de radio a input text

Estas en el tema de valor de radio a input text en el foro de Jquery en Foros del Web. Hola chicos de jquery espero me puedan orientar con esto: Tenego "N" cantidad de preguntas que obtengo dinamicamente con php con 2 radios y un ...
  #1 (permalink)  
Antiguo 05/07/2015, 22:32
 
Fecha de Ingreso: julio-2014
Mensajes: 9
Antigüedad: 9 años, 9 meses
Puntos: 0
Pregunta valor de radio a input text

Hola chicos de jquery espero me puedan orientar con esto:
Tenego "N" cantidad de preguntas que obtengo dinamicamente con php con 2 radios y un input text que se pintan dependiendo el numero de preguntas.

Quisiera que al seleccionar SI o NO (este mismo SI o NO) se ponga en su input text correspondiente, cabe resaltar que los valores de cada radio ya los tengo ocupados por otros datos que recojo con php tambien es por eso que les añadi un atributo "data-resp".

ej. HTML ya pintado
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es">
  3.     <meta charset="UTF-8">
  4.     <title>Radios</title>
  5. </head>
  6.     <section>
  7.         <div>
  8.             <form action="">
  9.                 <table>
  10.                     <thead>
  11.                         <th>Pregunta</th>
  12.                         <th>Respuesta</th>
  13.                     </thead>
  14.                     <tbody>
  15.                         <tr>
  16.                             <td>
  17.                                 Nombre
  18.                             </td>
  19.                             <td>
  20.                                 Si <input type="radio" name="radio[1]" id="radio[1]" value="10" data-resp="SI">
  21.                                 No <input type="radio" name="radio[1]" id="radio[1]" value="20" data-resp="NO">
  22.                             </td>
  23.                             <td>
  24.                                 <input type="text" name="resp1" id="resp1">
  25.                             </td>                  
  26.                         </tr>
  27.                         <tr>
  28.                             <td>
  29.                                 Dirección
  30.                             </td>
  31.                             <td>
  32.                                 Si <input type="radio" name="radio[2]" id="radio[2]" value="10" data-resp="SI">
  33.                                 No <input type="radio" name="radio[2]" id="radio[2]" value="20" data-resp="NO">
  34.                             </td>
  35.                             <td>
  36.                                 <input type="text" name="resp2" id="resp2">
  37.                             </td>                          
  38.                         </tr>
  39.                         <tr>
  40.                             <td>
  41.                                 Teléfono
  42.                             </td>
  43.                             <td>
  44.                                 Si <input type="radio" name="radio[3]" id="radio[3]" value="10" data-resp="SI">
  45.                                 No <input type="radio" name="radio[3]" id="radio[3]" value="20" data-resp="NO">
  46.                             </td>
  47.                             <td>
  48.                                 <input type="text" name="resp3" id="resp3">
  49.                             </td>                          
  50.                         </tr>
  51.                     </tbody>
  52.                 </table>
  53.             </form>
  54.         </div>
  55.     </section>
  56. </body>
  57. </html>
Y este seria el resultado ya con los "SI" o "NO" seleccionados.


Con uno solo hice el ejemplo pero ya con los demas no me funciona:
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.    
  3.     $('input:radio').on("click", function() {      
  4.       $("#resp1").val($(this).attr("data-resp"));  
  5.  
  6.     });
  7.   });
Pero para los demas como seria si puedo tener 3 o 5 o 10 preguntas?
  #2 (permalink)  
Antiguo 05/07/2015, 22:51
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: valor de radio a input text

Como agrupas las opciones y cajas de texto por filas, toma a la caja de texto correspondiente a la fila en la cual se encuentra la opción marcada.

Código Javascript:
Ver original
  1. $(this).parents("tr").find("[type=text]").val($(this).data("resp"));

Con el método .parents(), busco a los ancestros del elemento afectado por el clic pero solo tomo de ellos al que sea un <tr>; luego, busco en él a algún elemento <input type = "text"> usando el método .find() y le asigno el valor del atributo personalizado data-resp el cual tomo mediante el método .data(), teniendo que indicar entre los paréntesis del mismo solo la segunda parte de su nombre.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 06/07/2015, 09:19
 
Fecha de Ingreso: julio-2014
Mensajes: 9
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: valor de radio a input text

Excelente muchas gracias!

Etiquetas: input, radio, text, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:33.