Twitter Bootstrap onclick event on buttons-radio

后端 未结 9 1675
傲寒
傲寒 2020-12-13 03:51

I have a Twitter Bootstrap buttons-radio and hook an onclick event to it. But how do I check which of the buttons that got triggered?

My first thought was to simply

相关标签:
9条回答
  • 2020-12-13 04:17

    I searched so many pages: I found a beautiful solution. Check it out:

    git link

    <!DOCTYPE html>
    <html>
    <head>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <!-- Latest compiled and minified CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    
    <!-- Optional theme -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
    
    <!-- Latest compiled and minified JavaScript -->
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
    <link href="https://gitcdn.github.io/bootstrap-toggle/2.2.2/css/bootstrap-toggle.min.css" rel="stylesheet">
    <script src="https://gitcdn.github.io/bootstrap-toggle/2.2.2/js/bootstrap-toggle.min.js"></script>
    
        <script>
            $(function() {
                $("#my_launch_today_chk").change(function() {
                    var chk = $(this).prop('checked');
                    if(chk == true){
                        console.log("On");
                    }else{
                        console.log("OFF");
                    }
                });
            });
        </script>
    </head>
    <body >
    
    <input type="checkbox" id="my_launch_today_chk" checked data-on="Launch" data-off="OFF" data-toggle="toggle" data-size="small">
    </body>
    </html>
    
    0 讨论(0)
  • 2020-12-13 04:18

    For Bootstrap 3 the default radio/button-group structure is :

    <div class="btn-group" data-toggle="buttons">
        <label class="btn btn-primary">
            <input type="radio" name="options" id="option1"> Option 1
        </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>
    

    And you can select the active one like this:

    $('.btn-primary').on('click', function(){
        alert($(this).find('input').attr('id'));
    }); 
    
    0 讨论(0)
  • 2020-12-13 04:21

    This is a really annoying one. What I ended up using is this:

    First, create a group of simple buttons with no data-toggle attribute.

    <div id="selector" class="btn-group">
        <button type="button" class="btn active">Day</button>
        <button type="button" class="btn">Week</button>
        <button type="button" class="btn">Month</button>
        <button type="button" class="btn">Year</button>
    </div>
    

    Next, write an event handler that simulates the radio button effect by 'activating' the clicked one and 'deactivating' all other buttons. (EDIT: Integrated Nick's cleaner version from the comments.)

    $('#selector button').click(function() {
        $(this).addClass('active').siblings().removeClass('active');
    
        // TODO: insert whatever you want to do with $(this) here
    });
    
    0 讨论(0)
提交回复
热议问题