"Product chooser / selector"
Bootstrap 3.1.0 Snippet by arwany

<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.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"> <h2>Normal</h2> <div class="row form-group layout-chooser"> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4"> <div class="layout-chooser-item selected"> <img src="http://renswijnmalen.nl/bootstrap/desktop_mobile.png" class="img-rounded col-xs-4 col-sm-4 col-md-12 col-lg-12" alt="Mobile and Desktop"> <div class="col-xs-8 col-sm-8 col-md-12 col-lg-12"> <span class="title">Mobile and Desktop</span> <span class="description">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.</span> <input type="radio" name="layout" value="mobile_desktop" checked="checked"> </div> <div class="clear"></div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4"> <div class="layout-chooser-item"> <img src="http://renswijnmalen.nl/bootstrap/desktop.png" class="img-rounded col-xs-4 col-sm-4 col-md-12 col-lg-12" alt="Desktop"> <div class="col-xs-8 col-sm-8 col-md-12 col-lg-12"> <span class="title">Desktop</span> <span class="description">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.</span> <input type="radio" name="layout" value="desktop"> </div> <div class="clear"></div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4"> <div class="layout-chooser-item"> <img src="http://renswijnmalen.nl/bootstrap/mobile.png" class="img-rounded col-xs-4 col-sm-4 col-md-12 col-lg-12" alt="Mobile"> <div class="col-xs-8 col-sm-8 col-md-12 col-lg-12"> <span class="title">Mobile</span> <span class="description">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.</span> <input type="radio" name="layout" value="mobile"> </div> <div class="clear"></div> </div> </div> </div> </div> <div class="container"> <h2>Disabled</h2> <div class="row form-group layout-chooser disabled"> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4"> <div class="layout-chooser-item"> <img src="http://renswijnmalen.nl/bootstrap/desktop_mobile.png" class="img-rounded col-xs-4 col-sm-4 col-md-12 col-lg-12" alt="Mobile and Desktop"> <div class="col-xs-8 col-sm-8 col-md-12 col-lg-12"> <span class="title">Mobile and Desktop</span> <span class="description">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.</span> <input type="radio" name="layout" value="mobile_desktop" checked="checked"> </div> <div class="clear"></div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4"> <div class="layout-chooser-item selected"> <img src="http://renswijnmalen.nl/bootstrap/desktop.png" class="img-rounded col-xs-4 col-sm-4 col-md-12 col-lg-12" alt="Desktop"> <div class="col-xs-8 col-sm-8 col-md-12 col-lg-12"> <span class="title">Desktop</span> <span class="description">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.</span> <input type="radio" name="layout" value="desktop"> </div> <div class="clear"></div> </div> </div> <div class="col-xs-12 col-sm-12 col-md-4 col-lg-4"> <div class="layout-chooser-item"> <img src="http://renswijnmalen.nl/bootstrap/mobile.png" class="img-rounded col-xs-4 col-sm-4 col-md-12 col-lg-12" alt="Mobile"> <div class="col-xs-8 col-sm-8 col-md-12 col-lg-12"> <span class="title">Mobile</span> <span class="description">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.</span> <input type="radio" name="layout" value="mobile"> </div> <div class="clear"></div> </div> </div> </div> </div>
.clear { clear: both; } .layout-chooser.disabled .layout-chooser-item { zoom: 1; filter: alpha(opacity=60); opacity: 0.6; cursor: default; } .layout-chooser .layout-chooser-item{ padding: 11px; border-radius: 6px; cursor: pointer; position: relative; border: 1px solid #efefef; margin-bottom: 10px; margin-left: 10px; margin-right: 10px; } .layout-chooser .layout-chooser-item.selected{ border: 4px solid #428bca; background: #efefef; padding: 8px; filter: alpha(opacity=100); opacity: 1; } .layout-chooser .layout-chooser-item img{ padding: 0; } .layout-chooser .layout-chooser-item .title{ display: block; margin: 10px 0 5px 0; font-weight: bold; font-size: 12px; } .layout-chooser .layout-chooser-item .description{ font-size: 12px; } .layout-chooser .layout-chooser-item input{ position: absolute; left: 0; top: 0; visibility:hidden; }
$(function(){ $('div.layout-chooser').not('.disabled').find('div.layout-chooser-item').on('click', function(){ $(this).parent().parent().find('div.layout-chooser-item').removeClass('selected'); $(this).addClass('selected'); $(this).find('input[type="radio"]').prop("checked", true); }); });

Related: See More


Questions / Comments: