Project

General

Profile

1 5703 leinfelder
2
<ul class="UIAPIPlugin-toc">
3
<li><a href="#overview">Overview</a></li>
4
<li><a href="#options">Options</a></li>
5
<li><a href="#events">Events</a></li>
6
<li><a href="#methods">Methods</a></li>
7
<li><a href="#theming">Theming</a></li>
8
</ul>
9
<div class="UIAPIPlugin">
10
  <h1>jQuery UI Tabs</h1>
11
  <div id="overview">
12
    <h2 class="top-header">Overview</h2>
13
    <div id="overview-main">
14
        <p>Tabs are generally used to break content into multiple sections that can be swapped to save space, much like an accordion.</p>
15
<p>By default a tab widget will swap between tabbed sections onClick, but the events can be changed to onHover through an option. Tab content can be loaded via Ajax by setting an href on a tab.</p>
16
<p><em>NOTE: Tabs created dynamically using .tabs( "add", ... ) are given an id of ui-tabs-NUM, where NUM is an auto-incrementing id. If you use this naming convention for your own elements, you may encounter problems.</em></p>
17
<table id="toc" class="toc" summary="Contents"><tr><td><div id="toctitle"><h2>Contents</h2></div>
18
<ul>
19
<li class="toclevel-1"><a href="#Events"><span class="tocnumber">1</span> <span class="toctext">Events</span></a></li>
20
<li class="toclevel-1"><a href="#Ajax_mode"><span class="tocnumber">2</span> <span class="toctext">Ajax mode</span></a>
21
<ul>
22
<li class="toclevel-2"><a href="#Back_button_and_bookmarking"><span class="tocnumber">2.1</span> <span class="toctext">Back button and bookmarking</span></a></li>
23
</ul>
24
</li>
25
<li class="toclevel-1"><a href="#How_to..."><span class="tocnumber">3</span> <span class="toctext">How to...</span></a>
26
<ul>
27
<li class="toclevel-2"><a href="#...retrieve_the_index_of_the_currently_selected_tab"><span class="tocnumber">3.1</span> <span class="toctext">...retrieve the index of the currently selected tab</span></a></li>
28
<li class="toclevel-2"><a href="#...open_links_in_the_current_tab_instead_of_leaving_the_page"><span class="tocnumber">3.2</span> <span class="toctext">...open links in the current tab instead of leaving the page</span></a></li>
29
<li class="toclevel-2"><a href="#...select_a_tab_from_a_text_link_instead_of_clicking_a_tab_itself"><span class="tocnumber">3.3</span> <span class="toctext">...select a tab from a text link instead of clicking a tab itself</span></a></li>
30
<li class="toclevel-2"><a href="#...prevent_switching_to_the_tab_on_click_depending_on_form_validation"><span class="tocnumber">3.4</span> <span class="toctext">...prevent switching to the tab on click depending on form validation</span></a></li>
31
<li class="toclevel-2"><a href="#...immediately_select_a_just_added_tab"><span class="tocnumber">3.5</span> <span class="toctext">...immediately select a just added tab</span></a></li>
32
<li class="toclevel-2"><a href="#...follow_a_tab.27s_URL_instead_of_loading_its_content_via_ajax"><span class="tocnumber">3.6</span> <span class="toctext">...follow a tab's URL instead of loading its content via ajax</span></a></li>
33
<li class="toclevel-2"><a href="#...prevent_a_FOUC_.28Flash_of_Unstyled_Content.29_before_tabs_are_initialized"><span class="tocnumber">3.7</span> <span class="toctext">...prevent a FOUC (Flash of Unstyled Content) before tabs are initialized</span></a></li>
34
</ul>
35
</li>
36
<li class="toclevel-1"><a href="#Why_does..."><span class="tocnumber">4</span> <span class="toctext">Why does...</span></a>
37
<ul>
38
<li class="toclevel-2"><a href="#...my_slider.2C_Google_Map.2C_sIFR_etc._not_work_when_placed_in_a_hidden_.28inactive.29_tab.3F"><span class="tocnumber">4.1</span> <span class="toctext">...my slider, Google Map, sIFR etc. not work when placed in a hidden (inactive) tab?</span></a></li>
39
</ul>
40
</li>
41
</ul>
42
</td></tr></table><script type="text/javascript"> if (window.showTocToggle) { var tocShowText = "show"; var tocHideText = "hide"; showTocToggle(); } </script>
43
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=1" title="Template:UIAPIPlugin">edit</a>]</div><a name="Events"></a><h2>Events</h2>
44
<p>A series of events fire when interacting with a tabs interface:
45
</p>
46
<ul><li> tabsselect, tabsload, tabsshow (in that order)
47
</li><li> tabsadd, tabsremove
48
</li><li> tabsenable, tabsdisable
49
</li></ul>
50
<p>Event binding example:
51
</p>
52
<pre>$('#example').bind('tabsselect', function(event, ui) {
53
54
    // Objects available in the function context:
55
    ui.tab     // anchor element of the selected (clicked) tab
56
    ui.panel   // element, that contains the selected/clicked tab contents
57
    ui.index   // zero-based index of the selected (clicked) tab
58
59
});</pre>
60
<p>Note that if a handler for the tabsselect event returns false, the clicked tab will not become selected (useful for example if switching to the next tab requires a form validation).
61
</p>
62
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=2" title="Template:UIAPIPlugin">edit</a>]</div><a name="Ajax_mode"></a><h2> Ajax mode </h2>
63
<p>Tabs supports loading tab content via Ajax in an unobtrusive manner.
64
</p><p>The HTML you need is slightly different from the one that is used for static tabs: A list of links pointing to existing resources (from where the content gets loaded) and no additional containers at all (unobtrusive!). The containers' markup is going to be created on the fly:
65
</p>
66
<pre>
67
&lt;div id=&quot;example&quot;&gt;
68
     &lt;ul&gt;
69
         &lt;li&gt;&lt;a href=&quot;ahah_1.html&quot;&gt;&lt;span&gt;Content 1&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
70
         &lt;li&gt;&lt;a href=&quot;ahah_2.html&quot;&gt;&lt;span&gt;Content 2&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
71
         &lt;li&gt;&lt;a href=&quot;ahah_3.html&quot;&gt;&lt;span&gt;Content 3&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
72
     &lt;/ul&gt;
73
&lt;/div&gt;
74
</pre>
75
<p>Obviously this degrades gracefully - the links, e.g. the content, will still be accessible with JavaScript disabled.
76
</p><p>Note that if you wish to reuse an existing container, you
77
could do so by matching a title attribute and the container's id:
78
</p>
79
<pre>
80
&lt;li&gt;&lt;a href=&quot;hello/world.html&quot; title=&quot;Todo Overview&quot;&gt; ... &lt;/a&gt;&lt;/li&gt;
81
</pre>
82
<p>and a container like:
83
</p>
84
<pre>
85
&lt;div id=&quot;Todo_Overview&quot;&gt; ... &lt;/div&gt;
86
</pre>
87
<p>(Note how white space is replaced with an underscore)
88
</p><p>This is useful if you want a human readable hash in the URL instead of
89
a cryptic generated one.
90
</p>
91
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=3" title="Template:UIAPIPlugin">edit</a>]</div><a name="Back_button_and_bookmarking"></a><h3>Back button and bookmarking</h3>
92
<p>Tabs 2 already supported this functionality, although the history plugin needs a rewrite first (it doesn't support Safari 3 and is in general a little inflexible) before it can be build back into the tabs. It is planned and Klaus is working on it whenever he finds the time. Actual bugs in the UI Tabs plugin itself always have higher priority though.
93
</p>
94
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=4" title="Template:UIAPIPlugin">edit</a>]</div><a name="How_to..."></a><h2>How to...</h2>
95
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=5" title="Template:UIAPIPlugin">edit</a>]</div><a name="...retrieve_the_index_of_the_currently_selected_tab"></a><h3>...retrieve the index of the currently selected tab</h3>
96
<pre>var $tabs = $('#example').tabs();
97
var selected = $tabs.tabs('option', 'selected'); // =&gt; 0</pre>
98
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=6" title="Template:UIAPIPlugin">edit</a>]</div><a name="...open_links_in_the_current_tab_instead_of_leaving_the_page"></a><h3>...open links in the current tab instead of leaving the page</h3>
99
<p>"Hijax" links after tab content has been loaded:
100
</p>
101
<pre>$('#example').tabs({
102
    load: function(event, ui) {
103
        $('a', ui.panel).click(function() {
104
            $(ui.panel).load(this.href);
105
            return false;
106
        });
107
    }
108
});</pre>
109
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=7" title="Template:UIAPIPlugin">edit</a>]</div><a name="...select_a_tab_from_a_text_link_instead_of_clicking_a_tab_itself"></a><h3>...select a tab from a text link instead of clicking a tab itself</h3>
110
<pre>var $tabs = $('#example').tabs(); // first tab selected
111
112
$('#my-text-link').click(function() { // bind click event to link
113
    $tabs.tabs('select', 2); // switch to third tab
114
    return false;
115
});</pre>
116
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=8" title="Template:UIAPIPlugin">edit</a>]</div><a name="...prevent_switching_to_the_tab_on_click_depending_on_form_validation"></a><h3>...prevent switching to the tab on click depending on form validation</h3>
117
<p>Returning false in the tabs select handler prevents the clicked tab from becoming selected.
118
</p>
119
<pre>$('#example').tabs({
120
    select: function(event, ui) {
121
        var isValid = ... // form validation returning true or false
122
        return isValid;
123
    }
124
});</pre>
125
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=9" title="Template:UIAPIPlugin">edit</a>]</div><a name="...immediately_select_a_just_added_tab"></a><h3>...immediately select a just added tab</h3>
126
<pre>var $tabs = $('#example').tabs({
127
    add: function(event, ui) {
128
        $tabs.tabs('select', '#' + ui.panel.id);
129
    }
130
});</pre>
131
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=10" title="Template:UIAPIPlugin">edit</a>]</div><a name="...follow_a_tab.27s_URL_instead_of_loading_its_content_via_ajax"></a><h3>...follow a tab's URL instead of loading its content via ajax</h3>
132
<p>Note that opening a tab in a new window is unexpected, e.g.
133
inconsistent behaviour exposing a usablity problem (<a href="http://www.useit.com/alertbox/tabs.html" class="external free" title="http://www.useit.com/alertbox/tabs.html">http://www.useit.com/alertbox/tabs.html</a>).
134
</p>
135
<pre>$('#example').tabs({
136
    select: function(event, ui) {
137
        var url = $.data(ui.tab, 'load.tabs');
138
        if( url ) {
139
            location.href = url;
140
            return false;
141
        }
142
        return true;
143
    }
144
});</pre>
145
<p><br />
146
</p>
147
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=11" title="Template:UIAPIPlugin">edit</a>]</div><a name="...prevent_a_FOUC_.28Flash_of_Unstyled_Content.29_before_tabs_are_initialized"></a><h3>...prevent a FOUC (Flash of Unstyled Content) before tabs are initialized</h3>
148
<p>Add the necessary classes to hide an inactive tab panel to the HTML right away - note that this will <b>not</b> degrade gracefully with JavaScript being disabled:
149
</p>
150
<pre>&lt;div id=&quot;example&quot; class=&quot;ui-tabs&quot;&gt;
151
  ...
152
  &lt;div id=&quot;a-tab-panel&quot; class=&quot;ui-tabs-hide&quot;&gt; &lt;/div&gt;
153
  ...
154
&lt;/div&gt;</pre>
155
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=12" title="Template:UIAPIPlugin">edit</a>]</div><a name="Why_does..."></a><h2>Why does...</h2>
156
<div class="editsection" style="float:right;margin-left:5px;">[<a href="http://docs.jquery.com/action/edit/Template:UIAPIPlugin?section=13" title="Template:UIAPIPlugin">edit</a>]</div><a name="...my_slider.2C_Google_Map.2C_sIFR_etc._not_work_when_placed_in_a_hidden_.28inactive.29_tab.3F"></a><h3>...my slider, Google Map, sIFR etc. not work when placed in a hidden (inactive) tab?</h3>
157
<p>Any component that requires some dimensional computation for its initialization won't work in a hidden tab, because the tab panel itself is hidden via <code>display: none</code> so that any elements inside won't report their actual width and height (0 in most browsers).
158
</p><p>There's an easy workaround. Use the <em>off-left technique</em> for hiding inactive tab panels. E.g. in your style sheet replace the rule for the class selector ".ui-tabs .ui-tabs-hide" with
159
</p>
160
<pre>.ui-tabs .ui-tabs-hide {
161
    position: absolute;
162
    left: -10000px;
163
}</pre>
164
<p>For Google maps you can also resize the map once the tab is displayed like this:
165
</p>
166
<pre>$('#example').bind('tabsshow', function(event, ui) {
167
    if (ui.panel.id == &quot;map-tab&quot;) {
168
        resizeMap();
169
    }
170
});</pre>
171
resizeMap() will call Google Maps' checkResize() on the particular map.
172
    </div>
173
    <div id="overview-dependencies">
174
        <h3>Dependencies</h3>
175
        <ul>
176
<li>UI Core</li>
177
<li>To use the cookie option: <a href="http://plugins.jquery.com/project/cookie" class="external text" title="http://plugins.jquery.com/project/cookie">jquery.cookie.js</a></li>
178
<li>Required CSS:
179
<pre>.ui-tabs .ui-tabs-hide {
180
     display: none;
181
}</pre></li>
182
</ul>
183
    </div>
184
    <div id="overview-example">
185
        <h3>Example</h3>
186
        <div id="overview-example" class="example">
187
<ul><li><a href="#demo"><span>Demo</span></a></li><li><a href="#source"><span>View Source</span></a></li></ul>
188
<p><div id="demo" class="tabs-container" rel="295">
189
A simple jQuery UI Tabs.<br />
190
</p>
191
<pre>$(&quot;#tabs&quot;).tabs();
192
</pre>
193
<p></div><div id="source" class="tabs-container">
194
</p>
195
<pre>&lt;!DOCTYPE html&gt;
196
&lt;html&gt;
197
&lt;head&gt;
198
  &lt;link href=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;/&gt;
199
  &lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&quot;&gt;&lt;/script&gt;
200
  &lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js&quot;&gt;&lt;/script&gt;
201
202
  &lt;script&gt;
203
  $(document).ready(function() {
204
    $(&quot;#tabs&quot;).tabs();
205
  });
206
  &lt;/script&gt;
207
&lt;/head&gt;
208
&lt;body style="font-size:62.5%;"&gt;
209
210
&lt;div id=&quot;tabs&quot;&gt;
211
    &lt;ul&gt;
212
        &lt;li&gt;&lt;a href=&quot;#fragment-1&quot;&gt;&lt;span&gt;One&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
213
        &lt;li&gt;&lt;a href=&quot;#fragment-2&quot;&gt;&lt;span&gt;Two&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
214
        &lt;li&gt;&lt;a href=&quot;#fragment-3&quot;&gt;&lt;span&gt;Three&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
215
    &lt;/ul&gt;
216
    &lt;div id=&quot;fragment-1&quot;&gt;
217
        &lt;p&gt;First tab is active by default:&lt;/p&gt;
218
        &lt;pre&gt;&lt;code&gt;$('#example').tabs();&lt;/code&gt;&lt;/pre&gt;
219
    &lt;/div&gt;
220
    &lt;div id=&quot;fragment-2&quot;&gt;
221
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
222
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
223
    &lt;/div&gt;
224
    &lt;div id=&quot;fragment-3&quot;&gt;
225
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
226
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
227
        Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
228
    &lt;/div&gt;
229
&lt;/div&gt;
230
&lt;/body&gt;
231
&lt;/html&gt;
232
</pre>
233
<p></div>
234
</p><p></div>
235
    </div>
236
  </div>
237
  <div id="options">
238
    <h2 class="top-header">Options</h2>
239
    <ul class="options-list">
240
241
<li class="option" id="option-disabled">
242
  <div class="option-header">
243
    <h3 class="option-name"><a href="#option-disabled">disabled</a></h3>
244
    <dl>
245
      <dt class="option-type-label">Type:</dt>
246
        <dd class="option-type">Boolean</dd>
247
248
      <dt class="option-default-label">Default:</dt>
249
        <dd class="option-default">false</dd>
250
251
    </dl>
252
  </div>
253
  <div class="option-description">
254
    <p>Disables (true) or enables (false) the tabs. Can be set when initialising (first creating) the tabs.</p>
255
  </div>
256
  <div class="option-examples">
257
    <h4>Code examples</h4>
258
    <dl class="option-examples-list">
259
260
<dt>
261
  Initialize a tabs with the <code>disabled</code> option specified.
262
</dt>
263
<dd>
264
<pre><code>$( ".selector" ).tabs({ disabled: true });</code></pre>
265
</dd>
266
267
268
<dt>
269
  Get or set the <code>disabled</code> option, after init.
270
</dt>
271
<dd>
272
<pre><code>//getter
273
var disabled = $( ".selector" ).tabs( "option", "disabled" );
274
//setter
275
$( ".selector" ).tabs( "option", "disabled", true );</code></pre>
276
</dd>
277
278
    </dl>
279
  </div>
280
</li>
281
282
283
<li class="option" id="option-ajaxOptions">
284
  <div class="option-header">
285
    <h3 class="option-name"><a href="#option-ajaxOptions">ajaxOptions</a></h3>
286
    <dl>
287
      <dt class="option-type-label">Type:</dt>
288
        <dd class="option-type">Options</dd>
289
290
      <dt class="option-default-label">Default:</dt>
291
        <dd class="option-default">null</dd>
292
293
    </dl>
294
  </div>
295
  <div class="option-description">
296
    <p>Additional Ajax options to consider when loading tab content (see $.ajax).</p>
297
  </div>
298
  <div class="option-examples">
299
    <h4>Code examples</h4>
300
    <dl class="option-examples-list">
301
302
<dt>
303
  Initialize a tabs with the <code>ajaxOptions</code> option specified.
304
</dt>
305
<dd>
306
<pre><code>$( ".selector" ).tabs({ ajaxOptions: { async: false } });</code></pre>
307
</dd>
308
309
310
<dt>
311
  Get or set the <code>ajaxOptions</code> option, after init.
312
</dt>
313
<dd>
314
<pre><code>//getter
315
var ajaxOptions = $( ".selector" ).tabs( "option", "ajaxOptions" );
316
//setter
317
$( ".selector" ).tabs( "option", "ajaxOptions", { async: false } );</code></pre>
318
</dd>
319
320
    </dl>
321
  </div>
322
</li>
323
324
325
<li class="option" id="option-cache">
326
  <div class="option-header">
327
    <h3 class="option-name"><a href="#option-cache">cache</a></h3>
328
    <dl>
329
      <dt class="option-type-label">Type:</dt>
330
        <dd class="option-type">Boolean</dd>
331
332
      <dt class="option-default-label">Default:</dt>
333
        <dd class="option-default">false</dd>
334
335
    </dl>
336
  </div>
337
  <div class="option-description">
338
    <p>Whether or not to cache remote tabs content, e.g. load only once or with every click. Cached content is being lazy loaded, e.g once and only once for the first click. Note that to prevent the actual Ajax requests from being cached by the browser you need to provide an extra cache: false flag to ajaxOptions.</p>
339
  </div>
340
  <div class="option-examples">
341
    <h4>Code examples</h4>
342
    <dl class="option-examples-list">
343
344
<dt>
345
  Initialize a tabs with the <code>cache</code> option specified.
346
</dt>
347
<dd>
348
<pre><code>$( ".selector" ).tabs({ cache: true });</code></pre>
349
</dd>
350
351
352
<dt>
353
  Get or set the <code>cache</code> option, after init.
354
</dt>
355
<dd>
356
<pre><code>//getter
357
var cache = $( ".selector" ).tabs( "option", "cache" );
358
//setter
359
$( ".selector" ).tabs( "option", "cache", true );</code></pre>
360
</dd>
361
362
    </dl>
363
  </div>
364
</li>
365
366
367
<li class="option" id="option-collapsible">
368
  <div class="option-header">
369
    <h3 class="option-name"><a href="#option-collapsible">collapsible</a></h3>
370
    <dl>
371
      <dt class="option-type-label">Type:</dt>
372
        <dd class="option-type">Boolean</dd>
373
374
      <dt class="option-default-label">Default:</dt>
375
        <dd class="option-default">false</dd>
376
377
    </dl>
378
  </div>
379
  <div class="option-description">
380
    <p>Set to true to allow an already selected tab to become unselected again upon reselection.</p>
381
  </div>
382
  <div class="option-examples">
383
    <h4>Code examples</h4>
384
    <dl class="option-examples-list">
385
386
<dt>
387
  Initialize a tabs with the <code>collapsible</code> option specified.
388
</dt>
389
<dd>
390
<pre><code>$( ".selector" ).tabs({ collapsible: true });</code></pre>
391
</dd>
392
393
394
<dt>
395
  Get or set the <code>collapsible</code> option, after init.
396
</dt>
397
<dd>
398
<pre><code>//getter
399
var collapsible = $( ".selector" ).tabs( "option", "collapsible" );
400
//setter
401
$( ".selector" ).tabs( "option", "collapsible", true );</code></pre>
402
</dd>
403
404
    </dl>
405
  </div>
406
</li>
407
408
409
<li class="option" id="option-cookie">
410
  <div class="option-header">
411
    <h3 class="option-name"><a href="#option-cookie">cookie</a></h3>
412
    <dl>
413
      <dt class="option-type-label">Type:</dt>
414
        <dd class="option-type">Object</dd>
415
416
      <dt class="option-default-label">Default:</dt>
417
        <dd class="option-default">null</dd>
418
419
    </dl>
420
  </div>
421
  <div class="option-description">
422
    <p>Store the latest selected tab in a cookie. The cookie is then used to determine the initially selected tab if the <i>selected</i> option is not defined. Requires cookie plugin. The object needs to have key/value pairs of the form the cookie plugin expects as options. Available options (example): &#123; expires: 7, path: '/', domain: 'jquery.com', secure: true &#125;. Since jQuery UI 1.7 it is also possible to define the cookie name being used via <i>name</i> property.</p>
423
  </div>
424
  <div class="option-examples">
425
    <h4>Code examples</h4>
426
    <dl class="option-examples-list">
427
428
<dt>
429
  Initialize a tabs with the <code>cookie</code> option specified.
430
</dt>
431
<dd>
432
<pre><code>$( ".selector" ).tabs({ cookie: { expires: 30 } });</code></pre>
433
</dd>
434
435
436
<dt>
437
  Get or set the <code>cookie</code> option, after init.
438
</dt>
439
<dd>
440
<pre><code>//getter
441
var cookie = $( ".selector" ).tabs( "option", "cookie" );
442
//setter
443
$( ".selector" ).tabs( "option", "cookie", { expires: 30 } );</code></pre>
444
</dd>
445
446
    </dl>
447
  </div>
448
</li>
449
450
451
<li class="option" id="option-deselectable">
452
  <div class="option-header">
453
    <h3 class="option-name"><a href="#option-deselectable">deselectable</a></h3>
454
    <dl>
455
      <dt class="option-type-label">Type:</dt>
456
        <dd class="option-type">Boolean</dd>
457
458
      <dt class="option-default-label">Default:</dt>
459
        <dd class="option-default">false</dd>
460
461
    </dl>
462
  </div>
463
  <div class="option-description">
464
    <p>deprecated in jQuery UI 1.7, use collapsible.</p>
465
  </div>
466
  <div class="option-examples">
467
    <h4>Code examples</h4>
468
    <dl class="option-examples-list">
469
470
<dt>
471
  Initialize a tabs with the <code>deselectable</code> option specified.
472
</dt>
473
<dd>
474
<pre><code>$( ".selector" ).tabs({ deselectable: true });</code></pre>
475
</dd>
476
477
478
<dt>
479
  Get or set the <code>deselectable</code> option, after init.
480
</dt>
481
<dd>
482
<pre><code>//getter
483
var deselectable = $( ".selector" ).tabs( "option", "deselectable" );
484
//setter
485
$( ".selector" ).tabs( "option", "deselectable", true );</code></pre>
486
</dd>
487
488
    </dl>
489
  </div>
490
</li>
491
492
493
<li class="option" id="option-disabled">
494
  <div class="option-header">
495
    <h3 class="option-name"><a href="#option-disabled">disabled</a></h3>
496
    <dl>
497
      <dt class="option-type-label">Type:</dt>
498
        <dd class="option-type">Array&lt;Number&gt;</dd>
499
500
      <dt class="option-default-label">Default:</dt>
501
        <dd class="option-default">[]</dd>
502
503
    </dl>
504
  </div>
505
  <div class="option-description">
506
    <p>An array containing the position of the tabs (zero-based index) that should be disabled on initialization.</p>
507
  </div>
508
  <div class="option-examples">
509
    <h4>Code examples</h4>
510
    <dl class="option-examples-list">
511
512
<dt>
513
  Initialize a tabs with the <code>disabled</code> option specified.
514
</dt>
515
<dd>
516
<pre><code>$( ".selector" ).tabs({ disabled: [1, 2] });</code></pre>
517
</dd>
518
519
520
<dt>
521
  Get or set the <code>disabled</code> option, after init.
522
</dt>
523
<dd>
524
<pre><code>//getter
525
var disabled = $( ".selector" ).tabs( "option", "disabled" );
526
//setter
527
$( ".selector" ).tabs( "option", "disabled", [1, 2] );</code></pre>
528
</dd>
529
530
    </dl>
531
  </div>
532
</li>
533
534
535
<li class="option" id="option-event">
536
  <div class="option-header">
537
    <h3 class="option-name"><a href="#option-event">event</a></h3>
538
    <dl>
539
      <dt class="option-type-label">Type:</dt>
540
        <dd class="option-type">String</dd>
541
542
      <dt class="option-default-label">Default:</dt>
543
        <dd class="option-default">'click'</dd>
544
545
    </dl>
546
  </div>
547
  <div class="option-description">
548
    <p>The type of event to be used for selecting a tab.</p>
549
  </div>
550
  <div class="option-examples">
551
    <h4>Code examples</h4>
552
    <dl class="option-examples-list">
553
554
<dt>
555
  Initialize a tabs with the <code>event</code> option specified.
556
</dt>
557
<dd>
558
<pre><code>$( ".selector" ).tabs({ event: 'mouseover' });</code></pre>
559
</dd>
560
561
562
<dt>
563
  Get or set the <code>event</code> option, after init.
564
</dt>
565
<dd>
566
<pre><code>//getter
567
var event = $( ".selector" ).tabs( "option", "event" );
568
//setter
569
$( ".selector" ).tabs( "option", "event", 'mouseover' );</code></pre>
570
</dd>
571
572
    </dl>
573
  </div>
574
</li>
575
576
577
<li class="option" id="option-fx">
578
  <div class="option-header">
579
    <h3 class="option-name"><a href="#option-fx">fx</a></h3>
580
    <dl>
581
      <dt class="option-type-label">Type:</dt>
582
        <dd class="option-type">Options, Array&lt;Options&gt;</dd>
583
584
      <dt class="option-default-label">Default:</dt>
585
        <dd class="option-default">null</dd>
586
587
    </dl>
588
  </div>
589
  <div class="option-description">
590
    <p>Enable animations for hiding and showing tab panels. The duration option can be a string representing one of the three predefined speeds ("slow", "normal", "fast") or the duration in milliseconds to run an animation (default is "normal").</p>
591
  </div>
592
  <div class="option-examples">
593
    <h4>Code examples</h4>
594
    <dl class="option-examples-list">
595
596
<dt>
597
  Initialize a tabs with the <code>fx</code> option specified.
598
</dt>
599
<dd>
600
<pre><code>$( ".selector" ).tabs({ fx: { opacity: 'toggle' } });</code></pre>
601
</dd>
602
603
604
<dt>
605
  Get or set the <code>fx</code> option, after init.
606
</dt>
607
<dd>
608
<pre><code>//getter
609
var fx = $( ".selector" ).tabs( "option", "fx" );
610
//setter
611
$( ".selector" ).tabs( "option", "fx", { opacity: 'toggle' } );</code></pre>
612
</dd>
613
614
    </dl>
615
  </div>
616
</li>
617
618
619
<li class="option" id="option-idPrefix">
620
  <div class="option-header">
621
    <h3 class="option-name"><a href="#option-idPrefix">idPrefix</a></h3>
622
    <dl>
623
      <dt class="option-type-label">Type:</dt>
624
        <dd class="option-type">String</dd>
625
626
      <dt class="option-default-label">Default:</dt>
627
        <dd class="option-default">'ui-tabs-'</dd>
628
629
    </dl>
630
  </div>
631
  <div class="option-description">
632
    <p>If the remote tab, its anchor element that is, has no title attribute to generate an id from, an id/fragment identifier is created from this prefix and a unique id returned by $.data(el), for example "ui-tabs-54".</p>
633
  </div>
634
  <div class="option-examples">
635
    <h4>Code examples</h4>
636
    <dl class="option-examples-list">
637
638
<dt>
639
  Initialize a tabs with the <code>idPrefix</code> option specified.
640
</dt>
641
<dd>
642
<pre><code>$( ".selector" ).tabs({ idPrefix: 'ui-tabs-primary' });</code></pre>
643
</dd>
644
645
646
<dt>
647
  Get or set the <code>idPrefix</code> option, after init.
648
</dt>
649
<dd>
650
<pre><code>//getter
651
var idPrefix = $( ".selector" ).tabs( "option", "idPrefix" );
652
//setter
653
$( ".selector" ).tabs( "option", "idPrefix", 'ui-tabs-primary' );</code></pre>
654
</dd>
655
656
    </dl>
657
  </div>
658
</li>
659
660
661
<li class="option" id="option-panelTemplate">
662
  <div class="option-header">
663
    <h3 class="option-name"><a href="#option-panelTemplate">panelTemplate</a></h3>
664
    <dl>
665
      <dt class="option-type-label">Type:</dt>
666
        <dd class="option-type">String</dd>
667
668
      <dt class="option-default-label">Default:</dt>
669
        <dd class="option-default">'&lt;div&gt;&lt;/div&gt;'</dd>
670
671
    </dl>
672
  </div>
673
  <div class="option-description">
674
    <p>HTML template from which a new tab panel is created in case of adding a tab with the add method or when creating a panel for a remote tab on the fly.</p>
675
  </div>
676
  <div class="option-examples">
677
    <h4>Code examples</h4>
678
    <dl class="option-examples-list">
679
680
<dt>
681
  Initialize a tabs with the <code>panelTemplate</code> option specified.
682
</dt>
683
<dd>
684
<pre><code>$( ".selector" ).tabs({ panelTemplate: '&lt;li&gt;&lt;/li&gt;' });</code></pre>
685
</dd>
686
687
688
<dt>
689
  Get or set the <code>panelTemplate</code> option, after init.
690
</dt>
691
<dd>
692
<pre><code>//getter
693
var panelTemplate = $( ".selector" ).tabs( "option", "panelTemplate" );
694
//setter
695
$( ".selector" ).tabs( "option", "panelTemplate", '&lt;li&gt;&lt;/li&gt;' );</code></pre>
696
</dd>
697
698
    </dl>
699
  </div>
700
</li>
701
702
703
<li class="option" id="option-selected">
704
  <div class="option-header">
705
    <h3 class="option-name"><a href="#option-selected">selected</a></h3>
706
    <dl>
707
      <dt class="option-type-label">Type:</dt>
708
        <dd class="option-type">Number</dd>
709
710
      <dt class="option-default-label">Default:</dt>
711
        <dd class="option-default">0</dd>
712
713
    </dl>
714
  </div>
715
  <div class="option-description">
716
    <p>Zero-based index of the tab to be selected on initialization. To set all tabs to unselected pass -1 as value.</p>
717
  </div>
718
  <div class="option-examples">
719
    <h4>Code examples</h4>
720
    <dl class="option-examples-list">
721
722
<dt>
723
  Initialize a tabs with the <code>selected</code> option specified.
724
</dt>
725
<dd>
726
<pre><code>$( ".selector" ).tabs({ selected: 3 });</code></pre>
727
</dd>
728
729
730
<dt>
731
  Get or set the <code>selected</code> option, after init.
732
</dt>
733
<dd>
734
<pre><code>//getter
735
var selected = $( ".selector" ).tabs( "option", "selected" );
736
//setter
737
$( ".selector" ).tabs( "option", "selected", 3 );</code></pre>
738
</dd>
739
740
    </dl>
741
  </div>
742
</li>
743
744
745
<li class="option" id="option-spinner">
746
  <div class="option-header">
747
    <h3 class="option-name"><a href="#option-spinner">spinner</a></h3>
748
    <dl>
749
      <dt class="option-type-label">Type:</dt>
750
        <dd class="option-type">String</dd>
751
752
      <dt class="option-default-label">Default:</dt>
753
        <dd class="option-default">'&lt;em&gt;Loading&amp;#8230;&lt;/em&gt;'</dd>
754
755
    </dl>
756
  </div>
757
  <div class="option-description">
758
    <p>The HTML content of this string is shown in a tab title while remote content is loading. Pass in empty string to deactivate that behavior. An span element must be present in the A tag of the title, for the spinner content to be visible.</p>
759
  </div>
760
  <div class="option-examples">
761
    <h4>Code examples</h4>
762
    <dl class="option-examples-list">
763
764
<dt>
765
  Initialize a tabs with the <code>spinner</code> option specified.
766
</dt>
767
<dd>
768
<pre><code>$( ".selector" ).tabs({ spinner: 'Retrieving data...' });</code></pre>
769
</dd>
770
771
772
<dt>
773
  Get or set the <code>spinner</code> option, after init.
774
</dt>
775
<dd>
776
<pre><code>//getter
777
var spinner = $( ".selector" ).tabs( "option", "spinner" );
778
//setter
779
$( ".selector" ).tabs( "option", "spinner", 'Retrieving data...' );</code></pre>
780
</dd>
781
782
    </dl>
783
  </div>
784
</li>
785
786
787
<li class="option" id="option-tabTemplate">
788
  <div class="option-header">
789
    <h3 class="option-name"><a href="#option-tabTemplate">tabTemplate</a></h3>
790
    <dl>
791
      <dt class="option-type-label">Type:</dt>
792
        <dd class="option-type">String</dd>
793
794
      <dt class="option-default-label">Default:</dt>
795
        <dd class="option-default">'&lt;li&gt;&lt;a href&#61;"#&#123;href&#125;"&gt;&lt;span&gt;#&#123;label&#125;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;'</dd>
796
797
    </dl>
798
  </div>
799
  <div class="option-description">
800
    <p>HTML template from which a new tab is created and added. The placeholders #&#123;href&#125; and #&#123;label&#125; are replaced with the url and tab label that are passed as arguments to the add method.</p>
801
  </div>
802
  <div class="option-examples">
803
    <h4>Code examples</h4>
804
    <dl class="option-examples-list">
805
806
<dt>
807
  Initialize a tabs with the <code>tabTemplate</code> option specified.
808
</dt>
809
<dd>
810
<pre><code>$( ".selector" ).tabs({ tabTemplate: '&lt;div&gt;&lt;a href&#61;"#&#123;href&#125;"&gt;&lt;span&gt;#&#123;label&#125;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;' });</code></pre>
811
</dd>
812
813
814
<dt>
815
  Get or set the <code>tabTemplate</code> option, after init.
816
</dt>
817
<dd>
818
<pre><code>//getter
819
var tabTemplate = $( ".selector" ).tabs( "option", "tabTemplate" );
820
//setter
821
$( ".selector" ).tabs( "option", "tabTemplate", '&lt;div&gt;&lt;a href&#61;"#&#123;href&#125;"&gt;&lt;span&gt;#&#123;label&#125;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;' );</code></pre>
822
</dd>
823
824
    </dl>
825
  </div>
826
</li>
827
828
    </ul>
829
  </div>
830
  <div id="events">
831
    <h2 class="top-header">Events</h2>
832
    <ul class="events-list">
833
834
<li class="event" id="event-select">
835
  <div class="event-header">
836
    <h3 class="event-name"><a href="#event-select">select</a></h3>
837
    <dl>
838
      <dt class="event-type-label">Type:</dt>
839
        <dd class="event-type">tabsselect</dd>
840
    </dl>
841
  </div>
842
  <div class="event-description">
843
    <p>This event is triggered when clicking a tab.</p>
844
  </div>
845
  <div class="event-examples">
846
    <h4>Code examples</h4>
847
    <dl class="event-examples-list">
848
849
<dt>
850
  Supply a callback function to handle the <code>select</code> event as an init option.
851
</dt>
852
<dd>
853
<pre><code>$( &quot;.selector&quot; ).tabs({
854
   select: function(event, ui) { ... }
855
});</code></pre>
856
</dd>
857
858
859
<dt>
860
  Bind to the <code>select</code> event by type: <code>tabsselect</code>.
861
</dt>
862
<dd>
863
<pre><code>$( &quot;.selector&quot; ).bind( &quot;tabsselect&quot;, function(event, ui) {
864
  ...
865
});</code></pre>
866
</dd>
867
868
    </dl>
869
  </div>
870
</li>
871
872
873
<li class="event" id="event-load">
874
  <div class="event-header">
875
    <h3 class="event-name"><a href="#event-load">load</a></h3>
876
    <dl>
877
      <dt class="event-type-label">Type:</dt>
878
        <dd class="event-type">tabsload</dd>
879
    </dl>
880
  </div>
881
  <div class="event-description">
882
    <p>This event is triggered after the content of a remote tab has been loaded.</p>
883
  </div>
884
  <div class="event-examples">
885
    <h4>Code examples</h4>
886
    <dl class="event-examples-list">
887
888
<dt>
889
  Supply a callback function to handle the <code>load</code> event as an init option.
890
</dt>
891
<dd>
892
<pre><code>$( &quot;.selector&quot; ).tabs({
893
   load: function(event, ui) { ... }
894
});</code></pre>
895
</dd>
896
897
898
<dt>
899
  Bind to the <code>load</code> event by type: <code>tabsload</code>.
900
</dt>
901
<dd>
902
<pre><code>$( &quot;.selector&quot; ).bind( &quot;tabsload&quot;, function(event, ui) {
903
  ...
904
});</code></pre>
905
</dd>
906
907
    </dl>
908
  </div>
909
</li>
910
911
912
<li class="event" id="event-show">
913
  <div class="event-header">
914
    <h3 class="event-name"><a href="#event-show">show</a></h3>
915
    <dl>
916
      <dt class="event-type-label">Type:</dt>
917
        <dd class="event-type">tabsshow</dd>
918
    </dl>
919
  </div>
920
  <div class="event-description">
921
    <p>This event is triggered when a tab is shown.</p>
922
  </div>
923
  <div class="event-examples">
924
    <h4>Code examples</h4>
925
    <dl class="event-examples-list">
926
927
<dt>
928
  Supply a callback function to handle the <code>show</code> event as an init option.
929
</dt>
930
<dd>
931
<pre><code>$( &quot;.selector&quot; ).tabs({
932
   show: function(event, ui) { ... }
933
});</code></pre>
934
</dd>
935
936
937
<dt>
938
  Bind to the <code>show</code> event by type: <code>tabsshow</code>.
939
</dt>
940
<dd>
941
<pre><code>$( &quot;.selector&quot; ).bind( &quot;tabsshow&quot;, function(event, ui) {
942
  ...
943
});</code></pre>
944
</dd>
945
946
    </dl>
947
  </div>
948
</li>
949
950
951
<li class="event" id="event-add">
952
  <div class="event-header">
953
    <h3 class="event-name"><a href="#event-add">add</a></h3>
954
    <dl>
955
      <dt class="event-type-label">Type:</dt>
956
        <dd class="event-type">tabsadd</dd>
957
    </dl>
958
  </div>
959
  <div class="event-description">
960
    <p>This event is triggered when a tab is added.</p>
961
  </div>
962
  <div class="event-examples">
963
    <h4>Code examples</h4>
964
    <dl class="event-examples-list">
965
966
<dt>
967
  Supply a callback function to handle the <code>add</code> event as an init option.
968
</dt>
969
<dd>
970
<pre><code>$( &quot;.selector&quot; ).tabs({
971
   add: function(event, ui) { ... }
972
});</code></pre>
973
</dd>
974
975
976
<dt>
977
  Bind to the <code>add</code> event by type: <code>tabsadd</code>.
978
</dt>
979
<dd>
980
<pre><code>$( &quot;.selector&quot; ).bind( &quot;tabsadd&quot;, function(event, ui) {
981
  ...
982
});</code></pre>
983
</dd>
984
985
    </dl>
986
  </div>
987
</li>
988
989
990
<li class="event" id="event-remove">
991
  <div class="event-header">
992
    <h3 class="event-name"><a href="#event-remove">remove</a></h3>
993
    <dl>
994
      <dt class="event-type-label">Type:</dt>
995
        <dd class="event-type">tabsremove</dd>
996
    </dl>
997
  </div>
998
  <div class="event-description">
999
    <p>This event is triggered when a tab is removed.</p>
1000
  </div>
1001
  <div class="event-examples">
1002
    <h4>Code examples</h4>
1003
    <dl class="event-examples-list">
1004
1005
<dt>
1006
  Supply a callback function to handle the <code>remove</code> event as an init option.
1007
</dt>
1008
<dd>
1009
<pre><code>$( &quot;.selector&quot; ).tabs({
1010
   remove: function(event, ui) { ... }
1011
});</code></pre>
1012
</dd>
1013
1014
1015
<dt>
1016
  Bind to the <code>remove</code> event by type: <code>tabsremove</code>.
1017
</dt>
1018
<dd>
1019
<pre><code>$( &quot;.selector&quot; ).bind( &quot;tabsremove&quot;, function(event, ui) {
1020
  ...
1021
});</code></pre>
1022
</dd>
1023
1024
    </dl>
1025
  </div>
1026
</li>
1027
1028
1029
<li class="event" id="event-enable">
1030
  <div class="event-header">
1031
    <h3 class="event-name"><a href="#event-enable">enable</a></h3>
1032
    <dl>
1033
      <dt class="event-type-label">Type:</dt>
1034
        <dd class="event-type">tabsenable</dd>
1035
    </dl>
1036
  </div>
1037
  <div class="event-description">
1038
    <p>This event is triggered when a tab is enabled.</p>
1039
  </div>
1040
  <div class="event-examples">
1041
    <h4>Code examples</h4>
1042
    <dl class="event-examples-list">
1043
1044
<dt>
1045
  Supply a callback function to handle the <code>enable</code> event as an init option.
1046
</dt>
1047
<dd>
1048
<pre><code>$( &quot;.selector&quot; ).tabs({
1049
   enable: function(event, ui) { ... }
1050
});</code></pre>
1051
</dd>
1052
1053
1054
<dt>
1055
  Bind to the <code>enable</code> event by type: <code>tabsenable</code>.
1056
</dt>
1057
<dd>
1058
<pre><code>$( &quot;.selector&quot; ).bind( &quot;tabsenable&quot;, function(event, ui) {
1059
  ...
1060
});</code></pre>
1061
</dd>
1062
1063
    </dl>
1064
  </div>
1065
</li>
1066
1067
1068
<li class="event" id="event-disable">
1069
  <div class="event-header">
1070
    <h3 class="event-name"><a href="#event-disable">disable</a></h3>
1071
    <dl>
1072
      <dt class="event-type-label">Type:</dt>
1073
        <dd class="event-type">tabsdisable</dd>
1074
    </dl>
1075
  </div>
1076
  <div class="event-description">
1077
    <p>This event is triggered when a tab is disabled.</p>
1078
  </div>
1079
  <div class="event-examples">
1080
    <h4>Code examples</h4>
1081
    <dl class="event-examples-list">
1082
1083
<dt>
1084
  Supply a callback function to handle the <code>disable</code> event as an init option.
1085
</dt>
1086
<dd>
1087
<pre><code>$( &quot;.selector&quot; ).tabs({
1088
   disable: function(event, ui) { ... }
1089
});</code></pre>
1090
</dd>
1091
1092
1093
<dt>
1094
  Bind to the <code>disable</code> event by type: <code>tabsdisable</code>.
1095
</dt>
1096
<dd>
1097
<pre><code>$( &quot;.selector&quot; ).bind( &quot;tabsdisable&quot;, function(event, ui) {
1098
  ...
1099
});</code></pre>
1100
</dd>
1101
1102
    </dl>
1103
  </div>
1104
</li>
1105
1106
    </ul>
1107
  </div>
1108
  <div id="methods">
1109
    <h2 class="top-header">Methods</h2>
1110
    <ul class="methods-list">
1111
1112
<li class="method" id="method-destroy">
1113
  <div class="method-header">
1114
    <h3 class="method-name"><a href="#method-destroy">destroy</a></h3>
1115
    <dl>
1116
      <dt class="method-signature-label">Signature:</dt>
1117
        <dd class="method-signature">.tabs( "destroy"
1118
1119
1120
1121
1122
1123
1124
1125
)</dd>
1126
    </dl>
1127
  </div>
1128
  <div class="method-description">
1129
    <p>Remove the tabs functionality completely. This will return the element back to its pre-init state.</p>
1130
  </div>
1131
</li>
1132
1133
1134
<li class="method" id="method-disable">
1135
  <div class="method-header">
1136
    <h3 class="method-name"><a href="#method-disable">disable</a></h3>
1137
    <dl>
1138
      <dt class="method-signature-label">Signature:</dt>
1139
        <dd class="method-signature">.tabs( "disable"
1140
1141
1142
1143
1144
1145
1146
1147
)</dd>
1148
    </dl>
1149
  </div>
1150
  <div class="method-description">
1151
    <p>Disable the tabs.</p>
1152
  </div>
1153
</li>
1154
1155
1156
<li class="method" id="method-enable">
1157
  <div class="method-header">
1158
    <h3 class="method-name"><a href="#method-enable">enable</a></h3>
1159
    <dl>
1160
      <dt class="method-signature-label">Signature:</dt>
1161
        <dd class="method-signature">.tabs( "enable"
1162
1163
1164
1165
1166
1167
1168
1169
)</dd>
1170
    </dl>
1171
  </div>
1172
  <div class="method-description">
1173
    <p>Enable the tabs.</p>
1174
  </div>
1175
</li>
1176
1177
1178
<li class="method" id="method-option">
1179
  <div class="method-header">
1180
    <h3 class="method-name"><a href="#method-option">option</a></h3>
1181
    <dl>
1182
      <dt class="method-signature-label">Signature:</dt>
1183
        <dd class="method-signature">.tabs( "option"
1184
1185
, optionName
1186
1187
, <span class="optional">[</span>value<span class="optional">] </span>
1188
1189
1190
1191
)</dd>
1192
    </dl>
1193
  </div>
1194
  <div class="method-description">
1195
    <p>Get or set any tabs option. If no value is specified, will act as a getter.</p>
1196
  </div>
1197
</li>
1198
1199
1200
<li class="method" id="method-option">
1201
  <div class="method-header">
1202
    <h3 class="method-name"><a href="#method-option">option</a></h3>
1203
    <dl>
1204
      <dt class="method-signature-label">Signature:</dt>
1205
        <dd class="method-signature">.tabs( "option"
1206
1207
, options
1208
1209
1210
1211
1212
1213
)</dd>
1214
    </dl>
1215
  </div>
1216
  <div class="method-description">
1217
    <p>Set multiple tabs options at once by providing an options object.</p>
1218
  </div>
1219
</li>
1220
1221
1222
<li class="method" id="method-widget">
1223
  <div class="method-header">
1224
    <h3 class="method-name"><a href="#method-widget">widget</a></h3>
1225
    <dl>
1226
      <dt class="method-signature-label">Signature:</dt>
1227
        <dd class="method-signature">.tabs( "widget"
1228
1229
1230
1231
1232
1233
1234
1235
)</dd>
1236
    </dl>
1237
  </div>
1238
  <div class="method-description">
1239
    <p>Returns the .ui-tabs element.</p>
1240
  </div>
1241
</li>
1242
1243
1244
<li class="method" id="method-add">
1245
  <div class="method-header">
1246
    <h3 class="method-name"><a href="#method-add">add</a></h3>
1247
    <dl>
1248
      <dt class="method-signature-label">Signature:</dt>
1249
        <dd class="method-signature">.tabs( "add"
1250
1251
, url
1252
1253
, label
1254
1255
, <span class="optional">[</span>index<span class="optional">] </span>
1256
1257
)</dd>
1258
    </dl>
1259
  </div>
1260
  <div class="method-description">
1261
    <p>Add a new tab. The second argument is either a URL consisting of a fragment identifier only to create an in-page tab or a full url (relative or absolute, no cross-domain support) to turn the new tab into an Ajax (remote) tab. The third is the zero-based position where to insert the new tab. Optional, by default a new tab is appended at the end.</p>
1262
  </div>
1263
</li>
1264
1265
1266
<li class="method" id="method-remove">
1267
  <div class="method-header">
1268
    <h3 class="method-name"><a href="#method-remove">remove</a></h3>
1269
    <dl>
1270
      <dt class="method-signature-label">Signature:</dt>
1271
        <dd class="method-signature">.tabs( "remove"
1272
1273
, index
1274
1275
1276
1277
1278
1279
)</dd>
1280
    </dl>
1281
  </div>
1282
  <div class="method-description">
1283
    <p>Remove a tab. The second argument is the zero-based index of the tab to be removed.</p>
1284
  </div>
1285
</li>
1286
1287
1288
<li class="method" id="method-enable">
1289
  <div class="method-header">
1290
    <h3 class="method-name"><a href="#method-enable">enable</a></h3>
1291
    <dl>
1292
      <dt class="method-signature-label">Signature:</dt>
1293
        <dd class="method-signature">.tabs( "enable"
1294
1295
, index
1296
1297
1298
1299
1300
1301
)</dd>
1302
    </dl>
1303
  </div>
1304
  <div class="method-description">
1305
    <p>Enable a disabled tab.  To enable more than one tab at once reset the disabled property like: <code>$('#example').tabs("option","disabled",[]);</code>. The second argument is the zero-based index of the tab to be enabled.</p>
1306
  </div>
1307
</li>
1308
1309
1310
<li class="method" id="method-disable">
1311
  <div class="method-header">
1312
    <h3 class="method-name"><a href="#method-disable">disable</a></h3>
1313
    <dl>
1314
      <dt class="method-signature-label">Signature:</dt>
1315
        <dd class="method-signature">.tabs( "disable"
1316
1317
, index
1318
1319
1320
1321
1322
1323
)</dd>
1324
    </dl>
1325
  </div>
1326
  <div class="method-description">
1327
    <p>Disable a tab. The selected tab cannot be disabled. To disable more than one tab at once use: <code>$('#example').tabs("option","disabled", [1, 2, 3]);</code>  The second argument is the zero-based index of the tab to be disabled.</p>
1328
  </div>
1329
</li>
1330
1331
1332
<li class="method" id="method-select">
1333
  <div class="method-header">
1334
    <h3 class="method-name"><a href="#method-select">select</a></h3>
1335
    <dl>
1336
      <dt class="method-signature-label">Signature:</dt>
1337
        <dd class="method-signature">.tabs( "select"
1338
1339
, index
1340
1341
1342
1343
1344
1345
)</dd>
1346
    </dl>
1347
  </div>
1348
  <div class="method-description">
1349
    <p>Select a tab, as if it were clicked. The second argument is the zero-based index of the tab to be selected or the id selector of the panel the tab is associated with (the tab's href fragment identifier, e.g. hash, points to the panel's id).</p>
1350
  </div>
1351
</li>
1352
1353
1354
<li class="method" id="method-load">
1355
  <div class="method-header">
1356
    <h3 class="method-name"><a href="#method-load">load</a></h3>
1357
    <dl>
1358
      <dt class="method-signature-label">Signature:</dt>
1359
        <dd class="method-signature">.tabs( "load"
1360
1361
, index
1362
1363
1364
1365
1366
1367
)</dd>
1368
    </dl>
1369
  </div>
1370
  <div class="method-description">
1371
    <p>Reload the content of an Ajax tab programmatically. This method always loads the tab content from the remote location, even if cache is set to true. The second argument is the zero-based index of the tab to be reloaded.</p>
1372
  </div>
1373
</li>
1374
1375
1376
<li class="method" id="method-url">
1377
  <div class="method-header">
1378
    <h3 class="method-name"><a href="#method-url">url</a></h3>
1379
    <dl>
1380
      <dt class="method-signature-label">Signature:</dt>
1381
        <dd class="method-signature">.tabs( "url"
1382
1383
, index
1384
1385
, url
1386
1387
1388
1389
)</dd>
1390
    </dl>
1391
  </div>
1392
  <div class="method-description">
1393
    <p>Change the url from which an Ajax (remote) tab will be loaded. The specified URL will be used for subsequent loads. Note that you can not only change the URL for an existing remote tab with this method, but also turn an in-page tab into a remote tab.  The second argument is the zero-based index of the tab of which its URL is to be updated.  The third is a URL the content of the tab is loaded from.</p>
1394
  </div>
1395
</li>
1396
1397
1398
<li class="method" id="method-length">
1399
  <div class="method-header">
1400
    <h3 class="method-name"><a href="#method-length">length</a></h3>
1401
    <dl>
1402
      <dt class="method-signature-label">Signature:</dt>
1403
        <dd class="method-signature">.tabs( "length"
1404
1405
1406
1407
1408
1409
1410
1411
)</dd>
1412
    </dl>
1413
  </div>
1414
  <div class="method-description">
1415
    <p>Retrieve the number of tabs of the first matched tab pane.</p>
1416
  </div>
1417
</li>
1418
1419
1420
<li class="method" id="method-abort">
1421
  <div class="method-header">
1422
    <h3 class="method-name"><a href="#method-abort">abort</a></h3>
1423
    <dl>
1424
      <dt class="method-signature-label">Signature:</dt>
1425
        <dd class="method-signature">.tabs( "abort"
1426
1427
1428
1429
1430
1431
1432
1433
)</dd>
1434
    </dl>
1435
  </div>
1436
  <div class="method-description">
1437
    <p>Terminate all running tab ajax requests and animations.</p>
1438
  </div>
1439
</li>
1440
1441
1442
<li class="method" id="method-rotate">
1443
  <div class="method-header">
1444
    <h3 class="method-name"><a href="#method-rotate">rotate</a></h3>
1445
    <dl>
1446
      <dt class="method-signature-label">Signature:</dt>
1447
        <dd class="method-signature">.tabs( "rotate"
1448
1449
, ms
1450
1451
, <span class="optional">[</span>continuing<span class="optional">] </span>
1452
1453
1454
1455
)</dd>
1456
    </dl>
1457
  </div>
1458
  <div class="method-description">
1459
    <p>Set up an automatic rotation through tabs of a tab pane.  The second argument is an amount of time in milliseconds until the next tab in the cycle gets activated. Use 0 or null to stop the rotation.  The third controls whether or not to continue the rotation after a tab has been selected by a user. Default: false.</p>
1460
  </div>
1461
</li>
1462
1463
    </ul>
1464
  </div>
1465
  <div id="theming">
1466
    <h2 class="top-header">Theming</h2>
1467
    <p>The jQuery UI Tabs plugin uses the jQuery UI CSS Framework to style its look and feel, including colors and background textures. We recommend using the ThemeRoller tool to create and download custom themes that are easy to build and maintain.
1468
</p>
1469
  <p>If a deeper level of customization is needed, there are widget-specific classes referenced within the jquery.ui.tabs.css stylesheet that can be modified. These classes are highlighed in bold below.
1470
</p>
1471
1472
  <h3>Sample markup with jQuery UI CSS Framework classes</h3>
1473
  &lt;div class=&quot;<strong>ui-tabs</strong> ui-widget ui-widget-content ui-corner-all&quot; id=&quot;tabs&quot;&gt;<br />
1474
&nbsp;&nbsp;&nbsp;&lt;ul class=&quot;<strong>ui-tabs-nav</strong> ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all&quot;&gt;<br />
1475
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&quot;ui-state-default ui-corner-top ui-tabs-selected ui-state-active&quot;&gt;&lt;a href=&quot;#tabs-1&quot;&gt;Nunc tincidunt&lt;/a&gt;&lt;/li&gt;<br />
1476
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&quot;ui-state-default ui-corner-top&quot;&gt;&lt;a href=&quot;#tabs-2&quot;&gt;Proin dolor&lt;/a&gt;&lt;/li&gt;<br />
1477
&nbsp;&nbsp;&nbsp;&lt;div class=&quot;<strong>ui-tabs-panel</strong> ui-widget-content ui-corner-bottom&quot; id=&quot;tabs-1&quot;&gt;<br />
1478
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;Tab one content goes here.&lt;/p&gt;<br />
1479
&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br />
1480
&nbsp;&nbsp;&nbsp; ...<br />
1481
&lt;/div&gt;<br />
1482
  <p class="theme-note">
1483
    <strong>
1484
      Note: This is a sample of markup generated by the tabs plugin, not markup you should use to create a tabs. The only markup needed for that is <br />&lt;div id=&quot;tabs&quot;&gt;<br />
1485
&#160;&#160;&#160;&lt;ul&gt;<br />
1486
&#160;&#160;&#160;&#160;&#160;&#160;&lt;li&gt;&lt;a href=&quot;#tabs-1&quot;&gt;Nunc tincidunt&lt;/a&gt;&lt;/li&gt;<br />
1487
&#160;&#160;&#160;&#160;&#160;&#160;&lt;li&gt;&lt;a href=&quot;#tabs-2&quot;&gt;Proin dolor&lt;/a&gt;&lt;/li&gt;<br />
1488
&#160;&#160;&#160;&#160;&#160;&#160;&lt;li&gt;&lt;a href=&quot;#tabs-3&quot;&gt;Aenean lacinia&lt;/a&gt;&lt;/li&gt;<br />
1489
&#160;&#160;&#160;&lt;/ul&gt;<br />
1490
&#160;&#160;&#160;&lt;div id=&quot;tabs-1&quot;&gt;<br />
1491
&#160;&#160;&#160;&#160;&#160;&#160;&lt;p&gt;Tab 1 content&lt;/p&gt;<br />
1492
&#160;&#160;&#160;&lt;/div&gt;<br />
1493
&#160;&#160;&#160;&lt;div id=&quot;tabs-2&quot;&gt;<br />
1494
&#160;&#160;&#160;&#160;&#160;&#160;&lt;p&gt;Tab 2 content&lt;/p&gt;<br />
1495
&#160;&#160;&#160;&lt;/div&gt;<br />
1496
&#160;&#160;&#160;&lt;div id=&quot;tabs-3&quot;&gt;<br />
1497
&#160;&#160;&#160;&#160;&#160;&#160;&lt;p&gt;Tab 3 content&lt;/p&gt;<br />
1498
&#160;&#160;&#160;&lt;/div&gt;<br />
1499
&lt;/div&gt;.
1500
    </strong>
1501
  </p>
1502
1503
  </div>
1504
</div>
1505
1506
</p><!--
1507
Pre-expand include size: 56145 bytes
1508
Post-expand include size: 94471 bytes
1509
Template argument size: 56684 bytes
1510
Maximum: 2097152 bytes
1511
-->
1512
1513
<!-- Saved in parser cache with key jqdocs_docs:pcache:idhash:3777-1!1!0!!en!2 and timestamp 20101025190219 -->