5
<title>Example: Managing groups of buttons with button-group</title>
6
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Maven+Pro:400,700">
7
<link rel="stylesheet" href="../../build/cssgrids/grids-min.css">
8
<link rel="stylesheet" href="../assets/css/main.css">
9
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
10
<script src="../../build/yui/yui-min.js"></script>
15
<h1>Example: Managing groups of buttons with button-group</h1>
18
<a href="#toc" class="jump">Jump to Table of Contents</a>
22
<div class="yui3-u-3-4">
24
<div class="content"><link rel="stylesheet" href='../../build/cssbutton/cssbutton.css'></link>
26
<p>In this example, we'll look at a few ways to create groups of buttons using the <code>'button-group'</code> module.</p>
30
<div class='yui3-skin-sam'>
31
<div id='checkboxContainer'>
32
<h2 id="checkbox-group">Checkbox Group</h2>
33
<button class='checkbox'>Button 1</button>
34
<button class='checkbox'>Button 2</button>
35
<button class='checkbox'>Button 3</button>
38
<div id='radioContainer'>
39
<h2 id="radio-group">Radio Group</h2>
40
<button class='radio'>Button A</button>
41
<button class='radio'>Button B</button>
42
<button class='radio'>Button C</button>
47
YUI().use('button-group', function(Y){
49
// A group of checkbox-like buttons
50
var buttonGroupCB = new Y.ButtonGroup({
51
srcNode: '#checkboxContainer',
54
'selectionChange': function(e){
55
var selection = buttonGroupCB.getSelectedButtons();
56
Y.log('buttonGroup2 selected count = ' + selection.length);
62
// A group of radio-like buttons
63
var buttonGroupRadio = new Y.ButtonGroup({
64
srcNode: '#radioContainer',
68
buttonGroupRadio.render();
70
buttonGroupRadio.on('selectionChange', function(e){
71
Y.log('buttonGroup selection changed');
78
<h4 id="source-html">Source: HTML</h4>
79
<pre class="code prettyprint"><div class='yui3-skin-sam'>
80
<div id='checkboxContainer'>
81
<h2>Checkbox Group</h2>
82
<button class='checkbox'>Button 1</button>
83
<button class='checkbox'>Button 2</button>
84
<button class='checkbox'>Button 3</button>
87
<div id='radioContainer'>
88
<h2>Radio Group</h2>
89
<button class='radio'>Button A</button>
90
<button class='radio'>Button B</button>
91
<button class='radio'>Button C</button>
93
</div></pre>
95
<h4 id="source-javascript">Source: JavaScript</h4>
96
<pre class="code prettyprint">YUI().use('button-group', function(Y){
98
// A group of checkbox-like buttons
99
var buttonGroupCB = new Y.ButtonGroup({
100
srcNode: '#checkboxContainer',
101
type: 'checkbox',
103
'selectionChange': function(e){
104
var selection = buttonGroupCB.getSelectedButtons();
105
Y.log('buttonGroup2 selected count = ' + selection.length);
111
// A group of radio-like buttons
112
var buttonGroupRadio = new Y.ButtonGroup({
113
srcNode: '#radioContainer',
114
type: 'radio'
117
buttonGroupRadio.render();
119
buttonGroupRadio.on('selectionChange', function(e){
120
Y.log('buttonGroup selection changed');
129
<div class="yui3-u-1-4">
130
<div class="sidebar">
132
<div id="toc" class="sidebox">
134
<h2 class="no-toc">Table of Contents</h2>
140
<a href="#checkbox-group">Checkbox Group</a>
143
<a href="#radio-group">Radio Group</a>
146
<a href="#source-html">Source: HTML</a>
149
<a href="#source-javascript">Source: JavaScript</a>
159
<div class="sidebox">
161
<h2 class="no-toc">Examples</h2>
165
<ul class="examples">
168
<li data-description="This example shows how you can easily style button and non-button DOM elements to appear as buttons">
169
<a href="cssbutton.html">Styling elements with cssbutton</a>
174
<li data-description="This example shows a simple, light solution to enhance <button> nodes">
175
<a href="button-plugin.html">Enhancing <button> nodes with button-plugin</a>
180
<li data-description="This example demonstrates how to create button widgets">
181
<a href="button.html">Basic button widgets</a>
186
<li data-description="This example demonstrates how to create a widget containing a group of buttons">
187
<a href="button-group.html">Managing groups of buttons with button-group</a>
202
<script src="../assets/vendor/prettify/prettify-min.js"></script>
203
<script>prettyPrint();</script>