Search code examples
javascriptjquerytwitter-bootstrap-3jquery-2.0

Attaching Click event to Bootstrap Toggle Radio Buttons


I have a boostrap toggle with the code below. It is visually working right

<div class="btn-group" data-toggle="buttons">
        <label class="btn btn-primary active">
            <input type="radio" name="options" id="showBuildQuantity" autocomplete="off" checked>Build Quantity
        </label>
        <label class="btn btn-primary">
            <input type="radio" name="options" id="showNumberOfScreens" autocomplete="off" onclick="showBuildQuantity()">Number of Screens
        </label>
    </div>

Below it I have some code to handle click events:

$(document).ready(function () {
    $('#showBuildQuantity').on('click', function () {
        <code here>
    });

    $('#showNumberOfScreens').on('click', function () {
        <code here>
    });
});

The issue I am having is that the click event's are never run when I click the toggle buttons.

I have other buttons on the same page using the same kind of jQuery click event and they do not have an issue.


Solution

  • After some research I found I need to use change instead of click. So the code should look like this:

    $('#showBuildQuantity').on('change', function () {
        if (myChart != null) {
            myChart.destroy();
        }
        setChart(getBuildQuantityData);
    });
    
    $('#showNumberOfScreens').on('change', function () {
        if (myChart != null) {
            myChart.destroy();
        }
        setChart(getNumScreensData);
    });