¿Cómo crear un botón de radio similar al botón de alternar usando Bootstrap?

Botones de alternancia: Los botones que pueden cambiar de un estado a otro, es decir, que pueden cambiarse de un estado activado a un estado desactivado o viceversa, se denominan botones de alternancia . Por ejemplo: 

  • Un interruptor particular en nuestra casa puede estar encendido o apagado. Este es un muy buen ejemplo de un interruptor de palanca de la vida real. 
  • La opción WiFi o Bluetooth de nuestro teléfono es otro ejemplo, que puede estar activada o desactivada.
     

Botón de radio: como su nombre indica, es el concepto de los botones en una radio, donde para la primera estación seleccionamos el primer botón, para la segunda estación seleccionamos el segundo botón y así sucesivamente. Es como una pregunta de opción múltiple donde a la vez solo un botón estará activo. Aquí seleccionamos de una lista de opciones. Por ejemplo:

  • Botones en una radio FM. 
  • Preguntas de opción múltiple en un examen.
     

Ejemplo: Cree un botón de radio usando Bootstrap.
 

html

<!DOCTYPE html>
<html lang="en">
  
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content=
        "width=device-width, initial-scale=1.0">
  
    <title>Radio Button</title>
</head>
  
<body>
    <div class="radio">
        <div class="btn-group btn-group-toggle" 
            data-toggle="buttons">
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                    id="button1" autocomplete="off" 
                    checked> Radio button 1
            </label>
  
            <label class="btn btn-primary active">
                <input type="radio" name="button" 
                id="button2" autocomplete="off">
                Radio button 2
            </label>
  
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                id="button3" autocomplete="off">
                Radio button 3
            </label>
  
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                id="button4" autocomplete="off">
                Radio button 4
            </label>
  
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                id="button5" autocomplete="off">
                Radio button 5
            </label>
        </div>
    </div>
</body>
  
</html>

Puntos importantes:

  • Tenemos que agregar un atributo marcado a cualquiera de los botones de radio para que esté preseleccionado cuando se carga la página. Es un atributo booleano.
  • Se debe dar el mismo nombre a todo el conjunto de elementos.
     

Ejemplo 2: El siguiente código nos ayudará a entender la diferencia (en el código) para diseñar un botón de alternar y un botón de radio.
 

html

<!DOCTYPE html>
<html>
  
<head>
  
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href=
"https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
  
    <!-- jQuery library -->
    <script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js">
    </script>
  
    <!-- Popper JS -->
    <script src=
"https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js">
    </script>
  
    <!-- Latest compiled JavaScript -->
    <script src=
"https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js">
    </script>
  
    <meta name="viewport" content=
        "width=device-width, initial-scale=1">
  
    <link rel="stylesheet" type="text/css" 
        href="style.css">
  
    <link href=
"https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"
    rel="stylesheet">
  
    <link href=
"https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;1,300&display=swap"
            rel="stylesheet">
    <script src=
"https://cdn.jsdelivr.net/npm/gijgo@1.8.1/combined/js/gijgo.min.js" 
        type="text/javascript">
    </script>
      
    <link href=
"https://cdn.jsdelivr.net/npm/gijgo@1.8.1/combined/css/gijgo.min.js"
        rel="stylesheet" type="text/css">
      
    <link rel="stylesheet" type="text/css" 
            href="css/lightbox.min.css">
  
    <script type="text/javascript" src=
        "js/lightbox-plus-jquery.min.js">
    </script>
  
    <title>Buttons</title>
  
    <style>
        .toggle,
        .radio {
            margin: 20px;
        }
    </style>
</head>
  
<body>
    <div class="toggle">
        <button type="button" 
            class="btn btn-warning" 
            data-toggle="button" 
            autocomplete="off">
            Toggle Button
        </button>
    </div>
  
    <div class="radio">
        <div class="btn-group btn-group-toggle" 
            data-toggle="buttons">
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                    id="button1" autocomplete="off"
                    checked> Radio button 1
            </label>
  
            <label class="btn btn-primary active">
                <input type="radio" name="button" 
                    id="button2" autocomplete="off"> 
                    Radio button 2
            </label>
  
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                    id="button3" autocomplete="off"> 
                    Radio button 3
            </label>
  
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                    id="button4" autocomplete="off">
                    Radio button 4
            </label>
  
            <label class="btn btn-primary">
                <input type="radio" name="button" 
                    id="button5" autocomplete="off"> 
                    Radio button 5
            </label>
        </div>
    </div>
</body>
  
</html>

Producción:

button

Publicación traducida automáticamente

Artículo escrito por madhumanti_gupta y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *