"Radio select stylized with bootstrap button (no css need)"
Bootstrap 3.3.0 Snippet by danielikeda

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="row"> <h2>Radio select stylized with bootstrap button (no css need)</h2> <h3>without change style button (JS V1 - change styles on JS, only two styles at a time)</h3> <div class="form-group"> <label for="happy" class="col-sm-5 col-md-5 control-label text-right">Estado do produto:</label> <div class="col-sm-7 col-md-7"> <div class="input-group"> <div id="radioBtn" class="btn-group"> <span class="btn btn-primary btn-sm active" data-toggle="estado" data-value="Y">NOVO</span> <span class="btn btn-default btn-sm notActive" data-toggle="estado" data-value="N">USADO</span> </div> <input type="hidden" name="estado" id="estado"> </div> </div> </div> <br><br> <div class="form-group"> <label for="happy" class="col-sm-5 col-md-5 control-label text-right">Estado do produto:</label> <div class="col-sm-7 col-md-7"> <div class="input-group"> <div id="radioBtn" class="btn-group"> <span class="btn btn-primary btn-sm active" data-toggle="estadotwo" data-value="Y">NOVO</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadotwo" data-value="N">USADO</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadotwo" data-value="Q">QUEBRADO</span> </div> <input type="hidden" name="estadotwo" id="estadotwo"> </div> </div> </div> </div> <br><br> <div class='row'> <h3>With change style button (JS V2 - Change style on HTML with more than two styles at a time)</h3> <div class="form-group"> <label for="happy" class="col-sm-5 col-md-5 control-label text-right">Estado do produto:</label> <div class="col-sm-7 col-md-7"> <div class="input-group"> <div id="radioBtnV2" class="btn-group"> <span class="btn btn-success btn-sm active" data-toggle="estadochange" data-value="L" data-active="btn-success" data-notactive="btn-default">.btn-default | .btn-success</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadochange" data-value="D" data-active="btn-danger" data-notactive="btn-default">.btn-default | .btn-danger</span> </div> <input type="hidden" name="estadochange" id="estadochange"> </div> </div> </div> <br><br> <div class="form-group"> <label for="happy" class="col-sm-5 col-md-5 control-label text-right">Estado do produto:</label> <div class="col-sm-7 col-md-7"> <div class="input-group"> <div id="radioBtnV2" class="btn-group"> <span class="btn btn-warning btn-sm Active" data-toggle="estadochange2" data-value="W" data-active="btn-warning" data-notactive="btn-default">.btn-default | .btn-warning</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadochange2" data-value="I" data-active="btn-info" data-notactive="btn-danger">.btn-danger | .btn-info</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadochange2" data-value="D" data-active="btn-info" data-notactive="btn-default">.btn-default | .btn-info</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadochange2" data-value="L" data-active="btn-link" data-notactive="btn-default">.btn-default | .btn-link</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadochange2" data-value="IN" data-active="btn-warning" data-notactive="btn-info">.btn-info | .btn-warning</span> <span class="btn btn-default btn-sm notActive" data-toggle="estadochange2" data-value="S" data-active="btn-primary" data-notactive="btn-success">.btn-success | .btn-primary</span> </div> <input type="hidden" name="estadochange2" id="estadochange2"> </div> </div> </div> <br><br><br><br> </div> <div class="row"> <div class="panel panel-info"> <div class="panel-heading"><h2 class="panel-title">How to use:</h2></div> <div class="panel-body"> You can use this snippet with a normal form and get the returns value using the hidden input.<br> You can use all the button styles above from Bootstrap has the following classes:<br> .btn-default<br> .btn-primary<br> .btn-success<br> .btn-info<br> .btn-warning<br> .btn-danger<br> .btn-link<br> </div> </div> Thanks to <a href='http://bootsnipp.com/tonnevillec'>tonnevillec</a>. </div> </div>
$(document).ready(function(){ // Use only for V1 $('#radioBtn span').on('click', function(){ var sel = $(this).data('value'); var tog = $(this).data('toggle'); $('#'+tog).val(sel); // You can change these lines to change classes (Ex. btn-default to btn-danger) $('span[data-toggle="'+tog+'"]').not('[data-value="'+sel+'"]').removeClass('active btn-primary').addClass('notActive btn-default'); $('span[data-toggle="'+tog+'"][data-value="'+sel+'"]').removeClass('notActive btn-default').addClass('active btn-primary'); }); // Use only for V2 $('#radioBtnV2 span').on('click', function(){ var sel = $(this).data('value'); var tog = $(this).data('toggle'); var active = $(this).data('active'); var classes = "btn-default btn-primary btn-success btn-info btn-warning btn-danger btn-link"; var notactive = $(this).data('notactive'); $('#'+tog).val(sel); $('span[data-toggle="'+tog+'"]').not('[data-value="'+sel+'"]').removeClass('active '+classes).addClass('notActive '+notactive); $('span[data-toggle="'+tog+'"][data-value="'+sel+'"]').removeClass('notActive '+classes).addClass('active '+active); }); });

Related: See More


Questions / Comments:

Hello,
I'm using JS V1 version.
How can I use jQuery Validation method?
The Validation not work with hidden input.

This is my code

<div id="radioBtn" class="btn-group pull-right radio-group">
SI
NO
<input type="hidden" name="disp_mattina" id="disp_mattina">
</div>

Luca Lo Bascio () - 7 years ago - Reply 0


Try capture element with this Jquery Code:
$('input[type=hidden][name=disp_mattina]').on('change',function(){
// Your validate method here.
// Get value of this element:
// $(this).val();
});

Daniel Ikeda () - 7 years ago - Reply 0