8b70276d6a6eb351537c033f6571fdf176b31753
[framework/web/web-ui-fw.git] / libs / js / jquery-mobile-1.0.1pre / docs / forms / radiobuttons / index.html
1 <!DOCTYPE html> 
2 <html> 
3         <head>
4         <meta charset="utf-8">
5         <meta name="viewport" content="width=device-width, initial-scale=1"> 
6         <title>jQuery Mobile Docs - Radio Buttons</title> 
7         <link rel="stylesheet"  href="../../../css/themes/default/" /> 
8         <link rel="stylesheet" href="../../_assets/css/jqm-docs.css"/> 
9         <script src="../../../js/jquery.js"></script> 
10         <script src="../../../experiments/themeswitcher/jquery.mobile.themeswitcher.js"></script> 
11         <script src="../../_assets/js/jqm-docs.js"></script> 
12         <script src="../../../js/"></script> 
13 </head> 
14 <body> 
15
16         <div data-role="page" class="type-interior">
17
18                 <div data-role="header" data-theme="f">
19                 <h1>Radio buttons</h1>
20                 <a href="../../../" data-icon="home" data-iconpos="notext" data-direction="reverse" class="ui-btn-right jqm-home">Home</a>
21         </div><!-- /header -->
22
23         <div data-role="content">
24                 <div class="content-primary">
25                 
26                 <form action="#" method="get">
27
28                 <h2>Radio buttons</h2>
29
30     <ul data-role="controlgroup" data-type="horizontal" class="localnav">
31       <li><a href="index.html" data-role="button" data-transition="fade" class="ui-btn-active">Basics</a></li>
32       <li><a href="options.html" data-role="button" data-transition="fade">Options</a></li>
33       <li><a href="methods.html" data-role="button" data-transition="fade">Methods</a></li>
34       <li><a href="events.html" data-role="button" data-transition="fade">Events</a></li>
35     </ul>
36
37                 <p>Radio buttons are used to provide a list of options where only a single items can be selected. Traditional desktop radio buttons are not optimized for touch input so in jQuery Mobile, we style the <code>label</code> for the radio buttons so they are larger and look clickable. A custom set of icons are added to the label to provide additional visual feedback.</p>
38                 
39                 <p>Both the radio and checkbox controls below use standard input/label markup, but are styled to be more touch-friendly. The styled control you see is actually the label element, which sits over the real input, so if images fail to load, you'll still have a functional control. In most browsers, clicking the label automatically triggers a click on the input, but we've had to trigger the update manually for a few mobile browsers that don't do this natively. On the desktop, these controls are keyboard and screen-reader accessible. View the <a href="../../api/data-attributes.html">data- attribute reference</a> to see all the possible attributes you can add to radio buttons.</p>
40                 
41                 <h2>Vertically grouped radio buttons</h2>
42                 
43                 <p>To create a set of radio buttons, add an <code>input</code> with a <code>type="radio"</code> attribute and a corresponding <code>label</code>. Set the <code>for</code> attribute of the <code>label</code> to match the ID of the <code>input</code> so they are semantically associated.</p>
44                 
45                 <p>Because radio buttons use the <code>label</code> element for the text displayed next to the checkbox form element, we recommend wrapping the radio buttons in a <code>fieldset</code> element that has a <code>legend</code> which acts as the title for the question.</p>
46                 
47                 <p>To visually integrate multiple radio buttons into a vertically grouped button set, the framework will automatically remove all margins between buttons and round only the top and bottom corners of the set if there is a <code> data-role="controlgroup"</code> attribute on the container.</p>
48                                 
49 <pre><code>     
50 <strong>&lt;fieldset data-role=&quot;controlgroup&quot;&gt;
51         &lt;legend&gt;Choose a pet:&lt;/legend&gt;</strong>
52         &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-1&quot; value=&quot;choice-1&quot; checked=&quot;checked&quot; /&gt;
53         &lt;label for=&quot;radio-choice-1&quot;&gt;Cat&lt;/label&gt;
54
55         &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-2&quot; value=&quot;choice-2&quot;  /&gt;
56         &lt;label for=&quot;radio-choice-2&quot;&gt;Dog&lt;/label&gt;
57
58         &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-3&quot; value=&quot;choice-3&quot;  /&gt;
59         &lt;label for=&quot;radio-choice-3&quot;&gt;Hamster&lt;/label&gt;
60
61         &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-4&quot; value=&quot;choice-4&quot;  /&gt;
62         &lt;label for=&quot;radio-choice-4&quot;&gt;Lizard&lt;/label&gt;
63 <strong>&lt;/fieldset&gt;</strong>
64 </code></pre>
65
66                 
67                 <p>This will produce a vertically grouped radio button set. The default styles set the width of the button group to 100% of the parent container and stacks the label on a separate line.</p>
68                 
69                 
70             <fieldset data-role="controlgroup">
71                 <legend>Choose a pet:</legend>
72                         <input type="radio" name="radio-pet-1a" id="radio-pet-1a" value="choice-1" checked="checked"  />
73                         <label for="radio-pet-1a">Cat</label>
74
75                         <input type="radio" name="radio-pet-1a" id="radio-pet-2a" value="choice-2"  />
76                         <label for="radio-pet-2a">Dog</label>
77
78                         <input type="radio" name="radio-pet-1a" id="radio-pet-3a" value="choice-3"  />
79                         <label for="radio-pet-3a">Hamster</label>
80
81                         <input type="radio" name="radio-pet-1a" id="radio-pet-4a" value="choice-4"  />
82                         <label for="radio-pet-4a">Lizard</label>
83             </fieldset>
84
85
86         <pre><code>     
87 <strong>&lt;div data-role=&quot;fieldcontain&quot;&gt;
88 </strong>    &lt;fieldset data-role=&quot;controlgroup&quot;&gt;
89         &lt;legend&gt;Choose a pet:&lt;/legend&gt;
90                 &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-1&quot; value=&quot;choice-1&quot; checked=&quot;checked&quot; /&gt;
91                 &lt;label for=&quot;radio-choice-1&quot;&gt;Cat&lt;/label&gt;
92
93                 &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-2&quot; value=&quot;choice-2&quot;  /&gt;
94                 &lt;label for=&quot;radio-choice-2&quot;&gt;Dog&lt;/label&gt;
95
96                 &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-3&quot; value=&quot;choice-3&quot;  /&gt;
97                 &lt;label for=&quot;radio-choice-3&quot;&gt;Hamster&lt;/label&gt;
98
99                 &lt;input type=&quot;radio&quot; name=&quot;radio-choice-1&quot; id=&quot;radio-choice-4&quot; value=&quot;choice-4&quot;  /&gt;
100                 &lt;label for=&quot;radio-choice-4&quot;&gt;Lizard&lt;/label&gt;
101     &lt;/fieldset&gt;
102 <strong>&lt;/div&gt;
103 </strong>       </code></pre>
104
105
106                         <p>To visually integrate multiple radio buttons into a vertically grouped button set, the framework will automatically remove all margins between buttons and round only the top and bottom corners of the set if there is a <code> data-role="controlgroup"</code> attribute on the container.</p>
107
108                 <div data-role="fieldcontain">
109                     <fieldset data-role="controlgroup">
110                         <legend>Choose a pet:</legend>
111                                 <input type="radio" name="radio-pet-1" id="radio-pet-1" value="choice-1" checked="checked"  />
112                                 <label for="radio-pet-1">Cat</label>
113
114                                 <input type="radio" name="radio-pet-1" id="radio-pet-2" value="choice-2"  />
115                                 <label for="radio-pet-2">Dog</label>
116
117                                 <input type="radio" name="radio-pet-1" id="radio-pet-3" value="choice-3"  />
118                                 <label for="radio-pet-3">Hamster</label>
119
120                                 <input type="radio" name="radio-pet-1" id="radio-pet-4" value="choice-4"  />
121                                 <label for="radio-pet-4">Lizard</label>
122                     </fieldset>
123                 </div>
124                         <h2>Horizontal radio button sets</h2>
125
126                         <p>Radio buttons can also be used for grouped button sets only a single button can be selected at once, such as a view switcher control. To make a horizontal radio button set, add the <code> data-type="horizontal"</code> to the <code>fieldset</code>.</p>
127
128         <code>
129         &lt;fieldset data-role=&quot;controlgroup&quot; <strong>data-type=&quot;horizontal&quot;</strong> &gt;
130         </code>
131
132         <div data-role="fieldcontain">
133             <fieldset data-role="controlgroup" data-type="horizontal">
134                 <legend>Layout view:</legend>
135                         <input type="radio" name="radio-view" id="radio-view-a" value="list"  />
136                         <label for="radio-view-a">List</label>
137                         <input type="radio" name="radio-view" id="radio-view-b" value="grid"  />
138                         <label for="radio-view-b">Grid</label>
139                         <input type="radio" name="radio-view" id="radio-view-c" value="gallery"  />
140                         <label for="radio-view-c">Gallery</label>
141             </fieldset>
142         </div>
143
144                                 <p>The framework will float the labels so they sit side-by-side on a line, hides the radio button icons and only round the left and right edges of the group.</p>
145                                 
146
147         
148
149
150
151         </form>
152         
153         </div><!--/content-primary -->          
154         
155         <div class="content-secondary">
156                 
157                 <div data-role="collapsible" data-collapsed="true" data-theme="b" data-content-theme="d">
158                         
159                                 <h3>More in this section</h3>
160                                 
161                                 <ul data-role="listview" data-theme="c" data-dividertheme="d">
162                                 
163                                         <li data-role="list-divider">Form elements</li>
164                                         <li><a href="../docs-forms.html">Form basics</a></li>
165                                         <li><a href="../forms-all.html">Form element gallery</a></li>
166                                         <li><a href="../textinputs/index.html">Text inputs</a></li>
167                                         <li><a href="../search/">Search input</a></li>
168                                         <li><a href="../slider/">Slider</a></li>
169                                         <li><a href="../switch/">Flip toggle switch</a></li>
170                                         <li data-theme="a"><a href="index.html">Radio buttons</a></li>
171                                         <li><a href="../checkboxes/">Checkboxes</a></li>
172                                         <li><a href="../selects/">Select menus</a></li>
173                                         <li><a href="../forms-themes.html">Theming forms</a></li>
174                                         <li><a href="../forms-all-native.html">Native form elements</a></li>
175                                         <li><a href="../forms-sample.html">Submitting forms</a></li>
176                                         
177         
178                                 </ul>
179                 </div>
180         </div>          
181
182 </div><!-- /content -->
183
184 <div data-role="footer" class="footer-docs" data-theme="c">
185                 <p>&copy; 2011 The jQuery Project</p>
186 </div>
187         
188 </div><!-- /page -->
189
190 </body>
191 </html>