Generalnie potrzeba jest taka:
Z założenia niech to będzie baza nazwisk (wygenerowana do tablicy JS z bazy przez php<- tu wszystko gra)
Chcę mieć zwykłe pole tekstowe INPUT, gdzie wpisując np pierwszą literę nazwiska wyjeżdża mi spod tego pola lista OPTION z SELECTa, ale cały SELECT nie wychodzi na wierzch, a tylko ma być widoczna jego rozwijana lista (jakoś tam potem sterowana przez JS, ale to też nie temat problemu). Tak więc chcę zakryć tylko część select'a, a sama lista ma się pokazywać - zależy mi na czymś typu "autouzupełnienie".
Problem znany pod IE (przynajmniej tak wynika też z gogla). Użycie visilble nic chyba nie załatwi bo nie chcę żeby pole tekstowe input zleciało pod selecta w momencie jego uwidocznienia. Znalazłem jakąś funkcję, ale zupełnie nie mogę jej uruchomić (podejżewam że coś źle przekazuję w parametrach). Razem z cytatem właściciela funcji wygląda to tak:
"<select> nie jest ukrywany, a jedynie naprawiany - już nie będzie przysłaniał naszych warstw, które powinny znajdywać się ponad nim.
Sposób użycia: wywołujemy funkcję fix_selects() przy każdym pokazaniu/ukryciu/przesunięciu warstwy jako jedyny parametr podając wskaźnik na tę właśnie warstwę.
Kod
#ff_fix{
position:absolute; z-index:-1; top:0;left:0;
filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)
}
position:absolute; z-index:-1; top:0;left:0;
filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)
}
Kod
function fix_selects(x,ff_fix){
if(window.ff_fix){x.removeChild(x.lastChild)}
else{
x.appendChild(ff_fix=document.createElement('iframe')).setAttribute('id','ff_fix')
with(ff_fix.style)width=x.offsetWidth+'px',height=x.offsetHeight+'px'
} }
if(window.ff_fix){x.removeChild(x.lastChild)}
else{
x.appendChild(ff_fix=document.createElement('iframe')).setAttribute('id','ff_fix')
with(ff_fix.style)width=x.offsetWidth+'px',height=x.offsetHeight+'px'
} }
w jaki sposób wywołać waszym zdaniem działanie tej funkji? Kombinuje i nic mi nie wychodzi.
Chyba że ma ktoś inną propozycję na stworzenie autouzupełnienia do inputa bez zbyt "ciężkich" objętościowo kodów? Może wykorzystać inny znacznik do tego celu?
p.s.
W sumie teraz mi się namyślało, że mógłbym przecież wykorzystać listę nie rozwijaną ale o stałej ilości wierszy, a tu chowanie/uwidacznianie tej listy jak najbardziej wystarczy. No ale czekam na sugestie, może mnie bardziej oświecicie
