Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 7 You must be signed in to fork a gist
  • Save kris-g/3107839 to your computer and use it in GitHub Desktop.
Save kris-g/3107839 to your computer and use it in GitHub Desktop.
Clean way to bind result value of bootstrap radio buttons to a single form input
<form>
<div class="btn-group" data-toggle-name="is_private" data-toggle="buttons-radio" >
<button type="button" value="0" class="btn" data-toggle="button">Public</button>
<button type="button" value="1" class="btn" data-toggle="button">Private</button>
</div>
<input type="hidden" name="is_private" value="0" />
</form>
$(function() {
$('div.btn-group[data-toggle-name]').each(function() {
var group = $(this);
var form = group.parents('form').eq(0);
var name = group.attr('data-toggle-name');
var hidden = $('input[name="' + name + '"]', form);
$('button', group).each(function() {
var button = $(this);
button.live('click', function() {
hidden.val($(this).val());
});
if (button.val() == hidden.val()) {
button.addClass('active');
}
});
});
});
@allears42
Copy link

+1. Thanks!

@devmug
Copy link

devmug commented May 19, 2013

I had to change button.live to button.on button.on('click', function() {
to get this to work with jquery 1.9.1

@kellyp
Copy link

kellyp commented Jul 2, 2013

good show!

@canuk
Copy link

canuk commented Oct 17, 2013

Updated for Bootstrap 3 here: https://gist.github.com/canuk/7017679

@infacq
Copy link

infacq commented Oct 28, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment