Created
December 31, 2010 09:19
-
-
Save edersohe/760885 to your computer and use it in GitHub Desktop.
short plugin that implement vertical buttonset for radio buttons and checkboxes with jquery ui
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<title>Test</title> | |
<link rel="stylesheet" media="all" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/themes/start/jquery-ui.css"></link> | |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> | |
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.7/jquery-ui.min.js"></script> | |
<script src="jquery.myplugin.js"></script> | |
<script> | |
$(document).ready(function(){ | |
//call plugin | |
$("#radio").buttonsetv(); | |
$("#checkbox").buttonsetv(); | |
}); | |
</script> | |
<style type="text/css"> | |
body{ font: 70% "Trebuchet MS", sans-serif; margin: 50px;} | |
</style> | |
<body> | |
<h2> Radio Buttonset </h2> | |
<div id="radio"> | |
<input type="radio" id="radio1" name="radio" value="1"/><label for="radio1">Choice 1</label> | |
<input type="radio" id="radio2" name="radio" value="2"/><label for="radio2">Choice 2</label> | |
<input type="radio" id="radio3" name="radio" value="3"/><label for="radio3">Choice 3</label> | |
</div> | |
<h2> Checkbox Buttonset </h2> | |
<div id="checkbox"> | |
<input type="checkbox" id="check1" name="check" value="1"/><label for="check1">Choice 1</label> | |
<input type="checkbox" id="check2" name="check" value="2"/><label for="check2">Choice 2</label> | |
<input type="checkbox" id="check3" name="check" value="3"/><label for="check3">Choice 3</label> | |
</div> | |
</body> | |
</head> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function( $ ){ | |
//plugin buttonset vertical | |
$.fn.buttonsetv = function() { | |
$(':radio, :checkbox', this).wrap('<div style="margin: 1px"/>'); | |
$(this).buttonset(); | |
$('label:first', this).removeClass('ui-corner-left').addClass('ui-corner-top'); | |
$('label:last', this).removeClass('ui-corner-right').addClass('ui-corner-bottom'); | |
mw = 0; // max witdh | |
$('label', this).each(function(index){ | |
w = $(this).width(); | |
if (w > mw) mw = w; | |
}) | |
$('label', this).each(function(index){ | |
$(this).width(mw); | |
}) | |
}; | |
})( jQuery ); |
Great stuff - thanks very much. Good solution.
Good Solution!
Awesome. Perfect for needs.
Great thank you!!
Awesome. Thanks!!
for anyone wanting multiple columns of buttons http://jsfiddle.net/3wueyp9w/3/
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
That's brilliant, just what I needed - thanks!
Maybe you could put a credit comment at the top? I feel bad just copy/pasting code :)
Also, not sure, but maybe a 'return this;' at the end so you can chain calls? (I often do: $(X).buttonsetv().change(...);