How to create a toggle button in Bootstrap

前端 未结 10 549
自闭症患者
自闭症患者 2021-01-30 00:57

I originally created a web app in HTML, CSS and JavaScript, then was asked to create it again in Bootstrap too. I\'ve done it all fine, but I had toggle buttons in the web app t

相关标签:
10条回答
  • 2021-01-30 01:19

    Bootstrap 3 has options to create toggle buttons based on checkboxes or radio buttons: http://getbootstrap.com/javascript/#buttons

    Checkboxes

    <div class="btn-group" data-toggle="buttons">
      <label class="btn btn-primary active">
        <input type="checkbox" checked> Option 1 (pre-checked)
      </label>
      <label class="btn btn-primary">
        <input type="checkbox"> Option 2
      </label>
      <label class="btn btn-primary">
        <input type="checkbox"> Option 3
      </label>
    </div>
    

    Radio buttons

    <div class="btn-group" data-toggle="buttons">
      <label class="btn btn-primary active">
        <input type="radio" name="options" id="option1" checked> Option 1 (preselected)
      </label>
      <label class="btn btn-primary">
        <input type="radio" name="options" id="option2"> Option 2
      </label>
      <label class="btn btn-primary">
        <input type="radio" name="options" id="option3"> Option 3
      </label>
    </div>
    

    For these to work you must initialize .btns with Bootstrap's Javascript:

    $('.btn').button();
    
    0 讨论(0)
  • 2021-01-30 01:22

    I've been trying to activate 'active' class manually with javascript. It's not as usable as a complete library, but for easy cases seems to be enough:

    var button = $('#myToggleButton');
    button.on('click', function () {
      $(this).toggleClass('active');
    });
    

    If you think carefully, 'active' class is used by bootstrap when the button is being pressed, not before or after that (our case), so there's no conflict in reuse the same class.

    Try this example and tell me if it fails: http://jsbin.com/oYoSALI/1/edit?html,js,output

    0 讨论(0)
  • 2021-01-30 01:26

    You can use the Material Design Switch for Bootstrap 3.3.0

    http://bootsnipp.com/snippets/featured/material-design-switch

    0 讨论(0)
  • 2021-01-30 01:28

    In case someone is still looking for a nice switch/toggle button, I followed Rick's suggestion and created a simple angular directive around it, angular-switch. Besides preferring a Windows styled switch, the total download is also much smaller (2kb vs 23kb minified css+js) compared to angular-bootstrap-switch and bootstrap-switch mentioned above together.

    You would use it as follows. First include the required js and css file:

    <script src="./bower_components/angular-switch/dist/switch.js"></script>
    <link rel="stylesheet" href="./bower_components/angular-switch/dist/switch.css"></link>
    

    And enable it in your angular app:

    angular.module('yourModule', ['csComp'
        // other dependencies
    ]);
    

    Now you are ready to use it as follows:

    <switch state="vm.isSelected" 
        textlabel="Switch" 
        changed="vm.changed()"
        isdisabled="{{isDisabled}}">
    </switch>
    

    0 讨论(0)
提交回复
热议问题