annotate jquery-ui/development-bundle/demos/autocomplete/multiple.html @ 0:b2e4605f20b2

beta version
author dwinter
date Thu, 30 Jun 2011 09:07:49 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
1 <!DOCTYPE html>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
2 <html lang="en">
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
3 <head>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
4 <meta charset="utf-8">
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
5 <title>jQuery UI Autocomplete - Multiple values</title>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
6 <link rel="stylesheet" href="../../themes/base/jquery.ui.all.css">
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
7 <script src="../../jquery-1.5.1.js"></script>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
8 <script src="../../ui/jquery.ui.core.js"></script>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
9 <script src="../../ui/jquery.ui.widget.js"></script>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
10 <script src="../../ui/jquery.ui.position.js"></script>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
11 <script src="../../ui/jquery.ui.autocomplete.js"></script>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
12 <link rel="stylesheet" href="../demos.css">
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
13 <script>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
14 $(function() {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
15 var availableTags = [
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
16 "ActionScript",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
17 "AppleScript",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
18 "Asp",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
19 "BASIC",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
20 "C",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
21 "C++",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
22 "Clojure",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
23 "COBOL",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
24 "ColdFusion",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
25 "Erlang",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
26 "Fortran",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
27 "Groovy",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
28 "Haskell",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
29 "Java",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
30 "JavaScript",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
31 "Lisp",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
32 "Perl",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
33 "PHP",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
34 "Python",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
35 "Ruby",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
36 "Scala",
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
37 "Scheme"
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
38 ];
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
39 function split( val ) {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
40 return val.split( /,\s*/ );
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
41 }
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
42 function extractLast( term ) {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
43 return split( term ).pop();
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
44 }
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
45
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
46 $( "#tags" )
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
47 // don't navigate away from the field on tab when selecting an item
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
48 .bind( "keydown", function( event ) {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
49 if ( event.keyCode === $.ui.keyCode.TAB &&
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
50 $( this ).data( "autocomplete" ).menu.active ) {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
51 event.preventDefault();
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
52 }
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
53 })
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
54 .autocomplete({
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
55 minLength: 0,
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
56 source: function( request, response ) {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
57 // delegate back to autocomplete, but extract the last term
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
58 response( $.ui.autocomplete.filter(
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
59 availableTags, extractLast( request.term ) ) );
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
60 },
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
61 focus: function() {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
62 // prevent value inserted on focus
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
63 return false;
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
64 },
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
65 select: function( event, ui ) {
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
66 var terms = split( this.value );
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
67 // remove the current input
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
68 terms.pop();
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
69 // add the selected item
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
70 terms.push( ui.item.value );
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
71 // add placeholder to get the comma-and-space at the end
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
72 terms.push( "" );
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
73 this.value = terms.join( ", " );
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
74 return false;
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
75 }
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
76 });
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
77 });
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
78 </script>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
79 </head>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
80 <body>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
81
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
82 <div class="demo">
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
83
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
84 <div class="ui-widget">
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
85 <label for="tags">Tag programming languages: </label>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
86 <input id="tags" size="50" />
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
87 </div>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
88
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
89 </div><!-- End demo -->
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
90
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
91
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
92
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
93 <div class="demo-description">
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
94 <p>Usage: Type something, eg. "j" to see suggestions for tagging with programming languages. Select a value, then continue typing to add more.</p>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
95 <p>This is an example showing how to use the source-option along with some events to enable autocompleting multiple values into a single field.</p>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
96 </div><!-- End demo-description -->
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
97
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
98 </body>
b2e4605f20b2 beta version
dwinter
parents:
diff changeset
99 </html>