Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Element.addMethods('INPUT', {
- autoCompletion: function(input, afterUpdateElement){
- if(!input.ac){
- input.ac = new Ajax.Autocompleter(input, input.id+'_auto_complete', input.getAttribute('src'), {
- method: 'get',
- select: 'value',
- callback: function(element, value){
- document.enabled = true;
- return element.serialize();
- },
- afterUpdateElement: function(input, element){
- input.indicate();
- document.ajaxRequest(input, input.getAttribute('usemap'), 'put', null, input.serialize())
- if(input.hasClassName('clear')) input.value = '';
- if(afterUpdateElement) afterUpdateElement(input, element);
- }
- });
- };
- }
- });
- Element.addMethods({
- observeAutoCompletion: function(element){
- if( !(element = $(element))) return;
- element.select('input.ac').each(function(input){
- // adding autocompletion to that input (needs to observe keypress directly)
- input.autoCompletion();
- });
- // delegate onClick & onMouseMove to that element for all input.autocomplete inside
- if(!element.autoCompletion){
- element.observe('click', autoCompletionClick) // SelectButton
- element.observe('mousemove', autoCompletionMouseMove) // IE6 fix (ScrollBug)
- element.autoCompletion = true;
- };
- },
- unobserveAutoCompletion: function(element){
- if(element.autoCompletion){
- // remove observed Events (autoCompletionClick/ autoCompletionMouseMove/ KEYUP)
- element.stopObserving('click', autoCompletionClick)
- element.stopObserving('mousemove', autoCompletionMouseMove)
- element.select('input.ac').each(function(input){
- input.stopObserving('keyup');
- input.ac = null;
- });
- element.autoCompletion = false;
- };
- }
- })
Add Comment
Please, Sign In to add comment