This is quite easy to achieve. Simply put each <input> into a <div>...
<div class="radio"> <input type="radio" ... value="Red"/> <label>Red</label> </div> <div class="radio"> <input type="radio" ... value="Amber"/> <label>Amber</label> </div> <div class="radio"> <input type="radio" ... value="Green"/> <label>Green</label> </div>...and use a bit of jQuery
var $j = jQuery.noConflict(); $j(document).ready(function() { $j('div.Radio').each(function(n,node) { $j(node).click(function() { $j(this).children(':first').attr('checked', true); }); }); });Using a <div> changes the layout - so you might want to put each <div> into a table layout.
You can add some CSS to highlight the clickable whitespace...
.Radio { background-color: Moccasin; } .Radio::after { content: "\00a0"; }If you want to remove the bullet simply add the following
$j(document).ready(function() { $j('input[type=radio]').hide(); };If you want to see an example of this, just try CyberDojo
What's wrong with the "for" attribute on the label-tag?
ReplyDeleteNothing - but it doesn't give you the ability to click on the whitespace after the shorter labels. Or rather - if it does I can't see how...
ReplyDelete