Radio radio.js
The radio control provides a customized look and feel that can be standardized across all browsers.
Usage
Via JavaScript
Call the radio control via JavaScript on the label
. The div.radio
container is only present for block level stying:
$('#myRadioLabel').radio();
Via data-attributes
The radio will automatically instantiate any radios with data-initialize="radio"
located on the <label>
. If you add the control markup after page load with data-initialize="radio"
, this control initializes on mouseover
.
Deprecated radio button markup
Before v3.7.0, the radio control could be bound with $().radio();
or data-initialize="radio"
to the div.radio
or the input
elements. This is no longer supported. Please update your markup and JavaScript to be bound to the label
only.
Methods
- .radio('check')
- Ensures the radio is checked
- .radio('destroy')
- Removes all functionality, jQuery data, and the markup from the DOM. Returns string of control markup.
- .radio('disable')
- Ensures the radio is disabled
- .radio('enable')
- Ensures the radio is enabled
- .radio('isChecked')
- Returns
true
orfalse
indicating the radio's checked state - .radio('uncheck')
- Ensures the radio is not checked
Examples
Customized look and feel for radio button element
Default (stacked)
<div class="radio">
<label class="radio-custom" id="myCustomRadioLabel" data-initialize="radio">
<input class="sr-only" name="radioEx1" type="radio" value="option1">
Browser-independent radio unchecked on page load
</label>
</div>
<div class="radio checked">
<label class="radio-custom" id="myCustomRadioLabel2" data-initialize="radio">
<input class="sr-only" name="radioEx1" checked="checked" type="radio" value="option2">
Browser-independent radio checked on page load
</label>
</div>
<div class="radio checked">
<label class="radio-custom disabled" id="myCustomRadioLabel3" data-initialize="radio">
<input class="sr-only" name="radio1b" checked="checked" disabled="disabled" type="radio">
<span class="radio-label">Disabled custom appearance radio selected on page load</span>
</label>
</div>
<div class="radio">
<label class="radio-custom disabled" id="myCustomRadioLabel4" data-initialize="radio">
<input class="sr-only" name="radioEx2" disabled="disabled" type="radio" value="option3">
Disabled browser-independent radio unchecked on page load
</label>
</div>
Inline radio
Use the .radio-inline
classes on radios for controls that appear on the same line.
<label class="radio-custom radio-inline" id="myCustomRadioLabel5" data-initialize="radio">
<input class="sr-only" name="radioEx2" type="radio" value="option1"> 1
</label>
<label class="radio-custom radio-inline" id="myCustomRadioLabel6" data-initialize="radio">
<input class="sr-only" name="radioEx2" checked="checked" type="radio" value="option2"> 2
</label>
<label class="radio-custom radio-inline disabled" id="myCustomRadioLabel7" data-initialize="radio">
<input class="sr-only" name="radioEx2" disabled="disabled" type="radio" value="option3"> 3
</label>
Addon radios
Place any radio option within an input group's addon instead of text.
<div class="input-group">
<label class="input-group-addon radio-custom radio-inline" data-initialize="radio">
<input class="sr-only" type="radio" value="option1">
</label>
<input class="form-control" type="text">
</div>
Element toggling radios
Use the data-toggle="{{selector}}"
to automatically show or hide elements matching the selector within the body upon check or uncheck. This function works with any jQuery selector.
<div class="radio">
<label class="radio-custom" id="myCustomRadioLabel8" data-initialize="radio">
<input class="sr-only" name="radioEx3" data-toggle="#radioToggleID" type="radio" value="option1">
Toggles element with matching ID
</label>
</div>
<label class="radio-custom radio-inline" id="myCustomRadioLabel9" data-initialize="radio">
<input class="sr-only" name="radioEx3" data-toggle=".radioToggleCLASS" type="radio" value="option1">
Toggles elements with matching class
</label>
<div class="alert bg-info" id="radioToggleID">ID-toggling container</div>
<div class="alert bg-success radioToggleCLASS">Class-toggling container</div>
<div class="alert bg-success radioToggleCLASS">Class-toggling container</div>
Highlighting radios
Use the .highlight
class to add a background highlight upon check.
<div class="radio highlight" id="myCustomRadioLabel10">
<label class="radio-custom highlight" data-initialize="radio">
<input class="sr-only" name="radioEx4" type="radio" value="option1">
This block-level radio will highlight on check.
</label>
</div>
<label class="radio-custom radio-inline highlight" id="myCustomRadio11" data-initialize="radio">
<input class="sr-only" name="radioEx4" type="radio" value="option2">
This inline radio will highlight on check.
</label>