Comunidad de diseño web y desarrollo en internet online

Ayuda con JavaScript

Citar            
MensajeEscrito el 01 Jul 2008 12:40 am
Quiero hacer un autocompleta que en ves del texto me retorne el ID, para ello estoy modificando el codigo que ofrece phpguru...

dejo el link:
http://www.patriciomolina.cl/autocompleta%20id/AutoComplete.htm

Como se puede ver envio un arreglo :

Código :

var data = {1:'[email protected]',
            4:'[email protected]',
            5:'[email protected]',
            9:'[email protected]',
            88:'[email protected]',
            50:'[email protected]',
            15:'[email protected]'};


Pero aun no puedo optener que me retorne como por ej: "[email protected]" el Id 88, sino que la posicion en los childnodes.-

Para optener el texto del dato que se acepto, se usa el codigo:

Código :

__AutoComplete[id]['element'].value = __AutoComplete[id]['dropdown'].childNodes[__AutoComplete[id]['highlighted']].innerHTML;


__AutoComplete[id]['highlighted'] en este caso corresponde al numero del chilNodes, por ello mi logica me dice que al chilnode le tengo que poner el numero id del texto, en esta parte estoy no lo he podido solucionar.-


Esta es la parte al parecer que debo modificar, pero no se como.

Código :

            newDiv = document.createElement('div');
            newDiv.className = 'autocomplete_item'; // Don't use setAttribute()
            newDiv.setAttribute('id', 'autocomplete_item_' + i);
            newDiv.setAttribute('index', i);
            newDiv.style.zIndex = '99';

                  
             // Scrollbars are on display ?
            if (toDisplay.length > __AutoComplete[id]['maxitems'] && navigator.userAgent.indexOf('MSIE') == -1) {
                newDiv.style.width = __AutoComplete[id]['element'].offsetWidth - 22 + 'px';
            }

            newDiv.onmouseover = function() {AutoComplete_HighlightItem(__AutoComplete[id]['element'].getAttribute('id'), this.getAttribute('index'));};
            newDiv.onclick     = function() {AutoComplete_SetValue(__AutoComplete[id]['element'].getAttribute('id')); AutoComplete_HideDropdown(__AutoComplete[id]['element'].getAttribute('id'));}
            
            text   = document.createTextNode(toDisplay[i]);
            newDiv.appendChild(text);

            __AutoComplete[id]['dropdown'].appendChild(newDiv);




Bueno si alguien sabe como lo debo hacer, agradesco su ayuda.-

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie7
Citar            
MensajeEscrito el 01 Jul 2008 01:24 pm
Bueno ya encontre la respuesta, debia modificar:

Código :

newDiv.setAttribute('id', i);
Y
__AutoComplete[id]['element'].value = __AutoComplete[id]['dropdown'].childNodes[__AutoComplete[id]['highlighted']].getAttribute(id);

Por york3rs

Claber

561 de clabLevel

1 tutorial

Genero:Masculino  

LA___Chile

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.