/[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

Annotation of /tag_complete/tag_complete.js

Parent Directory Parent Directory | Revision Log Revision Log


Revision 41 - (hide 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 dpavlin 41 /*
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