File: index.html

package info (click to toggle)
jquery-mobile 1.1.0-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 2,856 kB
  • sloc: php: 98; makefile: 14
file content (189 lines) | stat: -rw-r--r-- 9,394 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
<!DOCTYPE html> 
<html>
	<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1"> 
	<title>jQuery Mobile Docs - Checkboxes</title> 
	<link rel="stylesheet"  href="../../../css/themes/default/jquery.mobile.css" />
	<link rel="stylesheet" href="../../_assets/css/jqm-docs.css"/>
	<script src="../../../experiments/themeswitcher/jquery.mobile.themeswitcher.js"></script>
	<script src="../../../js/jquery.js"></script>
	<script src="../../../docs/_assets/js/jqm-docs.js"></script>
	<script src="../../../js/jquery.mobile.js"></script>

</head> 
<body> 

	<div data-role="page" class="type-interior">

		<div data-role="header" data-theme="f">
		<h1>Checkboxes</h1>
		<a href="../../../" data-icon="home" data-iconpos="notext" data-direction="reverse">Home</a>
		<a href="../../nav.html" data-icon="search" data-iconpos="notext" data-rel="dialog" data-transition="fade">Search</a>
	</div><!-- /header -->

	<div data-role="content">
		<div class="content-primary">
		
		<form action="#" method="get">

		<h2>Checkboxes</h2>

    <ul data-role="controlgroup" data-type="horizontal" class="localnav">
      <li><a href="index.html" data-role="button" data-transition="fade" class="ui-btn-active">Basics</a></li>
      <li><a href="options.html" data-role="button" data-transition="fade">Options</a></li>
      <li><a href="methods.html" data-role="button" data-transition="fade">Methods</a></li>
      <li><a href="events.html" data-role="button" data-transition="fade">Events</a></li>
    </ul>

		<p>Checkboxes are used to provide a list of options where more than one can be selected. Traditional desktop checkboxes are not optimized for touch input so in jQuery Mobile, we style the <code>label</code> for the checkboxes so they are larger and look clickable. A custom set of icons are added to the label to provide additional visual feedback.</p>
		
		<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 checkboxes.</p>

		<p>To create a single checkbox, add an <code>input</code> with a <code>type="checkbox"</code> attribute and a corresponding <code>label</code>. If the <code>input</code> isn’t wrapped in its corresponding <code>label</code>, be sure to 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>
		
		<pre><code>	
&lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;checkbox-1&quot; /&gt; I agree &lt;/label&gt;
			
&lt;input type=&quot;checkbox&quot; name=&quot;checkbox-0&quot; id=&quot;checkbox-0&quot; class=&quot;custom&quot; /&gt;
&lt;label for=&quot;checkbox-0&quot;&gt;I agree&lt;/label&gt;
		</code></pre>
				
		<p>The above snippets will produce two basic checkboxes. The default styles will set the width of the element to 100% of the parent container.</p>
					
		<label> <input type="checkbox" name="checkbox-1 "/> I agree</label>
		
		<input type="checkbox" name="checkbox-0" id="checkbox-0" class="custom" />
		<label for="checkbox-0">I agree</label>
		
		
		<h2>Mini version</h2>

		<p>For a more compact version that is useful in toolbars and tight spaces, add the <code>data-mini="true"</code> attribute to the element to create a <a href="../forms-all-mini.html">mini version</a>. </p>

<pre><code>	
&lt;input type=&quot;checkbox&quot; name=&quot;checkbox-0&quot; id=&quot;checkbox-mini-0&quot; class=&quot;custom&quot; <strong>data-mini=&quot;true&quot;</strong> /&gt;
&lt;label for=&quot;checkbox-mini-0&quot;&gt;I agree&lt;/label&gt;
</code></pre>
		
		<p>This will produce a select that is not as tall as the standard version and has a smaller text size.</p>
		<input type="checkbox" name="checkbox-0" id="checkbox-mini-0" class="custom" data-mini="true" />
		<label for="checkbox-mini-0">I agree</label>


		<h2>Field containers &amp; Legends</h2>
		<p>Because checkboxes use the <code>label</code> element for the text displayed next to the checkbox form element, we recommend wrapping the checkbox in a <code>fieldset</code> element that has a <code>legend</code> which acts as the title for the question. Add the  <code> data-role="controlgroup"</code> attribute to the <code>fieldset</code> so it can be styled in a parallel way as text inputs, selects or other form elements.</p>
		
		<p>Wrap the <code>fieldset</code> in a <code>div</code> with <code> data-role="fieldcontain"</code> attribute so it can be styled in a parallel way as text inputs, selects or other form elements.</p>


<pre><code>	
&lt;div data-role=&quot;fieldcontain&quot;&gt;
    <strong>&lt;fieldset data-role=&quot;controlgroup&quot;&gt;
	   &lt;legend&gt;Agree to the terms:&lt;/legend&gt;</strong>
	   &lt;input type=&quot;checkbox&quot; name=&quot;checkbox-1&quot; id=&quot;checkbox-1&quot; class=&quot;custom&quot; /&gt;
	   &lt;label for=&quot;checkbox-1&quot;&gt;I agree&lt;/label&gt;
    <strong>&lt;/fieldset&gt;</strong>
&lt;/div&gt;
</code></pre>

	<div data-role="fieldcontain">
	 	<fieldset data-role="controlgroup">
			<legend>Agree to the terms:</legend>
			<input type="checkbox" name="checkbox-1" id="checkbox-1" class="custom" />
			<label for="checkbox-1">I agree</label>
	    </fieldset>
	</div>
	
			
		
		<h2>Vertically grouped checkboxes</h2>
		
		<p>Typically, there are multiple checkboxes listed under a question title. To visually integrate multiple checkboxes into a 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 fie.</p>

			<div  data-role="fieldcontain">
			 	<fieldset data-role="controlgroup">
					<legend>Choose as many snacks as you'd like:</legend>
					<input type="checkbox" name="checkbox-1a" id="checkbox-1a" class="custom" />
					<label for="checkbox-1a">Cheetos</label>

					<input type="checkbox" name="checkbox-2a" id="checkbox-2a" class="custom" />
					<label for="checkbox-2a">Doritos</label>
					
					<input type="checkbox" name="checkbox-3a" id="checkbox-3a" class="custom" />
					<label for="checkbox-3a">Fritos</label>

					<input type="checkbox" name="checkbox-4a" id="checkbox-4a" class="custom" />
					<label for="checkbox-4a">Sun Chips</label>
			    </fieldset>
			</div>
		
		<h2>Horizontal toggle sets</h2>
		
		<p>Checkboxes can also be used for grouped button sets where more than one button can be selected at once, such as the bold, italic and underline button group seen in word processors. To make a horizontal button set, add the <code> data-type="horizontal"</code> to the <code>fieldset</code>.</p>

<code>
&lt;fieldset data-role=&quot;controlgroup&quot; <strong>data-type=&quot;horizontal&quot;</strong>&gt;
</code>

			<p>The framework will float the labels so they sit side-by-side on a line, hide the checkbox icons and only round the left and right edges of the group.</p>
			
		<div data-role="fieldcontain">
		    <fieldset data-role="controlgroup" data-type="horizontal">
		    	<legend>Font styling:</legend>
		    	<input type="checkbox" name="checkbox-6" id="checkbox-6" class="custom" />
				<label for="checkbox-6">b</label>

				<input type="checkbox" name="checkbox-7" id="checkbox-7" class="custom" />
				<label for="checkbox-7"><em>i</em></label>

				<input type="checkbox" name="checkbox-8" id="checkbox-8" class="custom" />
				<label for="checkbox-8">u</label>    
		    </fieldset>
		</div>




	</form>
	
	</div><!--/content-primary -->		
	
	<div class="content-secondary">
		
		<div data-role="collapsible" data-collapsed="true" data-theme="b" data-content-theme="d">
			
				<h3>More in this section</h3>
				
				<ul data-role="listview" data-theme="c" data-dividertheme="d">
				
					<li data-role="list-divider">Form elements</li>
					<li><a href="../docs-forms.html">Form basics</a></li>
					<li><a href="../forms-all.html">Form element gallery</a></li>
					<li><a href="../forms-all-mini.html">Mini form element gallery</a></li>
					<li><a href="../textinputs/index.html">Text inputs</a></li>
					<li><a href="../search/">Search input</a></li>
					<li><a href="../slider/">Slider</a></li>
					<li><a href="../switch/">Flip toggle switch</a></li>
					<li><a href="../radiobuttons/">Radio buttons</a></li>
					<li data-theme="a"><a href="index.html">Checkboxes</a></li>
					<li><a href="../selects/">Select menus</a></li>
					<li><a href="../forms-themes.html">Theming forms</a></li>
					<li><a href="../forms-all-native.html">Native form elements</a></li>
					<li><a href="../forms-sample.html">Submitting forms</a></li>
					
	
				</ul>
		</div>
	</div>		

</div><!-- /content -->

<div data-role="footer" class="footer-docs" data-theme="c">
		<p>&copy; 2011-12 The jQuery Foundation</p>
</div>
	
</div><!-- /page -->

</body>
</html>