/[jquery]/tag_complete/tag_complete.js
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /tag_complete/tag_complete.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 41 - (show annotations)
Fri Aug 18 17:23:51 2006 UTC (17 years, 8 months ago) by dpavlin
File MIME type: application/javascript
File size: 1384 byte(s)
first cut at tag auto-completer based on jquery
1 /*
2 tag auto-completer written with jquery
3
4 2006-08-18 Dobrica Pavlinusic <dpavlin@rot13.org>
5 */
6
7 var _tag = {
8 name: new Array(),
9 obj: new Array(),
10 selected_name: new Array(),
11 selected_obj: new Array()
12 };
13
14 $(document).ready( function() {
15
16 $('.tag').each( function(i) {
17 _tag.name[i] = this.firstChild.nodeValue;
18 _tag.obj[i] = this;
19 });
20 $.log.info( 'found ' + _tag.name.length + ' tags' );
21
22 $.log.info( 'hook onchange to #tags_form' );
23 $('#tags_form').change( function() {
24 $.log.debug('submit #tags_form');
25 //this.submit();
26 return false;
27 }).keyup( function() {
28 var t = $('#tags').val().replace(/^([^ ][^ ]* )*/, '');
29
30 if (! t ) return;
31
32 $.log.debug('tag: ' + t);
33
34 for(var i = 0; i < _tag.selected_obj.length; i++) {
35 jQuery.className.remove( _tag.selected_obj[i], 'selected' );
36 }
37
38 _tag.selected_name = Array();
39 _tag.selected_obj = Array();
40 var j = 0;
41
42 if (t == '') return;
43
44 for(var i = 0; i < _tag.name.length; i++) {
45 if ( _tag.name[i].substr(0, t.length) == t ) {
46 var t = _tag.name[i];
47 $.log.debug('selected ' + t );
48
49 jQuery.className.add( _tag.obj[i], 'selected' );
50
51 _tag.selected_obj[j] = _tag.obj[i];
52 _tag.selected_name[j] = _tag.name[i];
53 j++;
54 }
55 }
56
57 $.log.debug('selected ' + _tag.selected_obj.length + ' tags');
58
59 $('#suggest').html( _tag.selected_name.join(" ") );
60 }).focus();
61
62 $.log.toggle();
63
64 });
65

  ViewVC Help
Powered by ViewVC 1.1.26