Ir al contenido principal

Seleccionar radio button y checkbox con jQuery

C
uando queremos dar una estética dinámica a nuestra página solemos utilizar jQuery para mostrar elementos dinámicamente. En esta ocasión os mostraré como mostrar un elemento en función de que radio button o checkbox esté seleccionado con jQuery.
Lo primero que debemos hacer es crear los elementos HTML como los del siguiente ejemplo:
<div class="sist_reports"> <input type="radio" name="numprioridad" value="1" checked>Realizada <input type="radio" name="numprioridad" value="2">Pendiente <input type="radio" name="numprioridad" value="3">Futura </div> <div id="dat_rep"> <label for="name">Fecha</label> <input type="date" name="datfecha" id="datepicker" readonly="readonly" size="12" value="" required/> </div>
Justo antes el cierre de la etiqueta </body> añadimos la función jQuery
$('input:radio[name=check]').click(function () { valrad = $('input:radio[name=numprioridad]:checked').val(); if(valrad==1) $("#dat_rep").show(); else $("#dat_rep").hide(); });
Os explicaré lo que hace cada línea:
$('input:radio[name=check]').click(function () {
Invoca una función cada vez que se hace click en el elemento radio cuyo name es check
valrad = $('input:radio[name=numprioridad]:checked').val();
Almacenamos el valor del radio seleccionado en la variable valrad
if(valrad==1)
Comprobamos que el valor sea igual a 1
$("#dat_rep").show();
Mostramos el elemento con id=dat_rep
$("#dat_rep").hide();
Ocultamos el elemento con id=dat_rep
Con esta función se pueden hacer muchas cosas que añaden valor a nuestra página facilitando la interacción del usuario.

Comentarios

  1. Hola como vas? copie tu ccdigo para probarlo ya que ando buscando algo igual, pero no me funciono.. Otra cosa fue que en esta parte del codigo $('input:radio[name=check]:').click(function () me saca un error de syntaxis.. te agradeceria de antemano si me podes arreglar eso, ya que me sirve :D y soy muy nuevo en estos temas gracias

    ResponderEliminar
  2. Hola Alejandro,

    a simple vista me parece que sobran los dos puntos después de [name=check], es decir, quedaría algo tal que:

    $('input:radio[name=check]').click(function ()

    Los dos puntos se ponen para evaluar el checked, que este no es el caso.

    Espero con esto te sirva... y ánimo cen tu aventura con jQuery, es apasionante!!

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Hola, Como vas? espero que bien..
    Estuve probando nuevamente el código que tiene, y pues le falta ponerle
    scrip types=text/javascript
    y cambiarle el name=check por name=numprioridad
    Porque si no no haria nada :) Me sirvio mucho. Pero te hago otra pregunta, de casualidad sabes como hacer para que se imprima un contenido mas de una vez, para formulario. Ejemplo: Hay mas contactos que deseas agregar y por medio del radio valor = si
    muestre otra vez el formulario para ingresar la informacion correspondiente.
    Te lo agradeceria de Antemano

    ResponderEliminar
  5. Hola Alejandro,

    lógicamente los javascripts van dentro de scrip types=text/javascript pero normalmente lo obvio para no cargar de código la página.

    Para añadir varios, por ejemplo, contactos, deberías de crear una función javascript que te cree nuevos inputs (apretando, por ejemplo, un botón añadir). Yo por lo menos es como lo hago, desconozco si se podría hacer más sencillo con jquery :)

    Ánimo que veo que vas por el buen camino!

    ResponderEliminar
  6. xandru muchas gracias me funcion perfect !!!!

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Exportar archivo de configuración de WinSCP

S i estamos trabajando con WinSCP seguro que ya hemos guardado distintas sesiones para acceder a ellas directamente en futuras ocasiones y evitar volver a introducir todos los parámetro de configuración. Seguro que también muchos de vosotros habéis agrupado las sesiones en carpetas dependiendo de la naturaleza de las mismas. Este trabajo ocupa un valioso tiempo que no nos podemos permitir repetirlo para todos los equipos que tenemos, por lo que lo más lógico es configurar todas las sesiones y exportar su configuración al resto de equipos , teniendo una sola versión y evitarnos tener que volver a configurar todas las sesiones en cada uno. El problema es que WinSCP no nos muestra la opción de exportar de una forma sencilla, por lo que tendremos que buscarnos la vida. Lo primero que debemos hacer es abrir el programa y acceder a Preferencias -> Almacenamiento (o su equivalente al inglés) En esta pantalla deberemos indicar que almacene la configuración en un archivo

Asignar valores por defecto a input=”file” y a textarea

S eguro que muchos os habéis estado rompiendo la cabeza buscando la forma de dar un valor por defecto a el tipo de dato input=”file” . Pues que sepáis que no se puede!!! No se puede dar un valor por defecto a los campos de este tipo, ya que hacen referencia a una ruta física local y podrían surgir problemas de seguridad. Lo que se puede hacer, por ejemplo, es mostrar la imagen o el nombre del dato que tenemos almacenado y si el usuario desea modificarla, ofrecerle la opción de cargar una nueva. La etiqueta textarea , aunque pueda parecérnoslo, no se trata de un input y para darle valor por defecto simplemente debemos mostrar el texto que deseemos entre su marca de apertura y de cierre. Es decir, en caso de que lo que deseemos mostrar por defecto sea una variable, introduciremos el siguiente código: <textarea id="txtobservaciones" name="txtobservaciones" rows="2" cols="40" class="txt" ><?=$_POST["txtobservaciones"] ?&

Configuración de archivo de Logs para IpTables

I pTables se usa para configurar, mantener e inspeccionar las tablas de reglas de filtrado de IPs en el kernel de Linux, pero por defecto, su sistema de logs no es todo lo completo esperamos. Por defecto, la mayoría de los logs del sistema se guardan en el fichero /var/log/messages pero en este caso vamos a configurar un nuevo fichero para que almacene únicamente los logs que generaremos con algunas reglas en IpTables , creando así su propio archivo de bitácora . Lo primero que debemos hacer es configurar el archivo /etc/syslog.conf , que se trata de un archivo de configuración en el que se indica el modo en que los mensajes del sistema son bitacorizados a través de la utilidad syslogd que se instala y configura por defecto en todos los sistemas GNU/Linux . Debemos añadir al final del fichero la siguiente sentencia: kern.warning /var/log/iptables.log Con esto indicamos que se almacenen los mensajes provienen del kernel con prioridad 4 o superior ('warning' es el nivel de