Cambiar un valor de campos de entrada ocultos cuando se selecciona un botón de opción
Frecuentes
Visto 10,875 equipos
2
Quiero cambiar el valor de un campo de entrada oculto cada vez que un usuario marca un botón de opción.
Así es como se ve mi HTML.
<input type="hidden" id="ZAAL_NAME" value="" name="ZAAL_NAME" />
<input type="radio" name="zaal_ID" value="ROOM1" onclick="change">
<input type="radio" name="zaal_ID" value="ROOM2" onclick="change">
<input type="radio" name="zaal_ID" value="ROOM3" onclick="change">
Ahora quiero que cada vez que verifique un botón de opción, el valor de ese botón de opción se convierta también en el valor del campo de entrada oculto. ¿Alguien sabe cómo hacer eso? Esto es lo que tengo hasta ahora.
$('input[name="radbut"]').click(function() {
console.log(this.value);
$('ZAAL_NAME').val(this.value);
});
¿Alguien podría ayudar?
Saludos cordiales,
stephann
6 Respuestas
6
su línea onclick
handler no funcionará ya que no incluyó paréntesis: debe ser onclick="change()"
para llamar realmente a su función. Pero deberías cambiarlo a onclick="change(this);"
para pasar una referencia al botón en el que se hizo clic a su función, entonces:
function change(el){
$("#ZAAL_NAME").val(el.value) ;
}
También su selector jQuery necesita un # para seleccionar por id.
Sin embargo, mejor sería eliminar el en línea onclick
de su marcado y hacerlo así:
$('input[name="zaal_ID"]').click(function() {
$('#ZAAL_NAME').val(this.value);
});
Este último debería estar en un controlador listo para documentos y/o en un bloque de script que aparece después de los botones de opción en la fuente de la página.
Nota: al obtener el valor del elemento en el que se hizo clic, puede decir $(el).val()
or $(this).val()
(dependiendo de cuál de las dos funciones estés viendo), pero dado que el
y this
son referencias al elemento DOM con el que puede obtener su propiedad de valor directamente el.value
or this.value
.
Respondido el 01 de junio de 12 a las 13:06
Lo he hecho de la segunda manera, pero cuando miro Firebug, no establece el valor: stephann
He editado mi publicación. Pero el archivo console.log no imprime nada. stephann
Lo siento, no me di cuenta antes de que el # se había dejado al principio del selector de jQuery (necesario para seleccionar por ID de elemento). Respuesta actualizada. Acabo de ver tu edición: ¿de dónde viene "radbut"? Eso no coincide con el nombre del elemento en tu html... - nnnnnn
¿Dónde debe colocarse el #? - stephann
Vea mi respuesta actualizada para el #. Y mi comentario anterior actualizado sobre "radbut". - nnnnnn
4
$('input[name="zaal_ID"]').change(function(){
$('#ZAAL_NAME').val( this.value );
})
Respondido el 29 de diciembre de 14 a las 21:12
1
function change(){
$("ZAAL_NAME").val( $(this).val() ) ;
}
or
function change(){
$("ZAAL_NAME").val($("input[type='radio']:checked").val()) ;
}
Respondido el 01 de junio de 12 a las 12:06
1
intentar -
$(':radio').change(function(){
$('#ZAAL_NAME').val($(this).val());
})
Demostración: http://jsfiddle.net/KMXnR/
Respondido el 01 de junio de 12 a las 12:06
1
utilizan el onclick="change(this.value);"
y la función se usa así
function change(e){
$("ZAAL_NAME").val(e) ;
}
Respondido el 01 de junio de 12 a las 16:06
0
Puedes usar es
$("input:radio[name=ZAAL_NAME]").click(function() {
var value = $(this).val();
// or $('input:radio[name=theme]:checked').val();
$("#ZAAL_NAME").val(value);
});
en breve
$("input:radio[name=ZAAL_NAME]").click(function() {
$("#ZAAL_NAME").val( $(this).val() );
});
Respondido el 01 de junio de 12 a las 13:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas javascript jquery html or haz tu propia pregunta.
¿Porqué querrías eso? Terminarás con el mismo valor en ambos
ZAAL_NAME
yzaal_ID
cuando envíe el formulario. ¿Por qué no simplemente usarzaal_ID
en su procesamiento del lado del servidor? - lanzz@lanzz Ojalá pudiera hacer +1 en tu comentario varias veces - Xyan Ewing
Porque necesito ingresar el ID en una tabla y el zaal_NAME en otra. También para dar datos a mi base de datos debo usar el atributo de nombre. Es por eso ! - Steaphann
no olvide marcar la respuesta como aceptada si tiene la información que desea .. - Pranay Rana