Skocz do zawartości
Cezar708

Autouzupelnianie <input Type=text>

Rekomendowane odpowiedzi

Witam mam pewien problem... mam napisac pewna formatke i zleceniodawca powiedzial mi ze ma sie autouzupelniac, moze lepiej podam przyklad.

Tak wyglada moja przykladowa formatka html:

<form action="index.php">
 <input type="text" name="imie"><br>
 <input type="text" name="nazwisko"><br>
</form>

mam pewna liste ludzi, ktorzy podczas wpisywania powinno sie wyswietlac ponizej, czyli dla przykladu niech to beda:

 

Basia Kowalska

Bartek Nowak

Wojtek Michalski

Waldemar Kowalczyk

 

i teraz jesli w polu "imie" napisze dla przykladu znaki "ba" to na liscie autouzupelnien pojawi sie tylko Basia Kowalska i Bartek Nowak i po kliknieciu na np Bartek Nowak automatycznie wypelnia sie pola imie i nazwisko odpowiednimi wartosciami. Podobnie jesli w polu "nazwisko" dla przykladu napiszemy "kow" to w liscie autouzupelnien pojawi sie Basia Kowalska i Waldemar Kowalczyk. Po kliknieciu na jedno z nich rowniez autouzupelnia sie te dwa pola.

 

oczywiscie mam swiadomosc ze jakos musze te nazwiska ukryc w moim skrypcie... jednakze nie mam pojecia jak zrobic aby wyswietlala sie taka lista po zmianie pola.

Oczywiscie moglbym uzyc w tym przypadku znacznika <select> jednakze musze miec mozliwosc wpisania nowej osoby (np Cezar 708). Podejrzewam ze jest to mozliwe za pomoca JavaScript ale niestety ten jezyk jest moja pieta ahillesowa i nie potrafie tego zrobic

 

Z gory dziekuje za wszelkie sugestie.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Oczywiscie moglbym uzyc w tym przypadku znacznika <select> jednakze musze miec mozliwosc wpisania nowej osoby (np Cezar 708).

No to mozesz miec dwa inputy na imie i nazwisko nowej osoby oraz selecta do wybrania osoby z listy. To byloby najprostsze.

 

A jak chcesz koniecznie autouzupelnianie w JS no to prosze bardzo.. ale musisz sie liczyc z tym, ze na starszych przegladarkach moze byc roznie z dzialaniem tego. Mozesz poszukac takich skryptow pod haslem "javascript autocomplete". Ja tez sobie cos takiego zrobilem, dziala prawie idealnie na IE6, FF1.0.x (Mozilla tez), Opera 8.x, na IE5.x juz sa pewne bledy, na innych starszych nie sprawdzalem, bo ich nie mam. Mozesz sobie tego uzyc jak chcesz, ale jesli to ma wpisywac imie i nazwisko w osobne pole to wymagalo by delikatnej modyfikacji, z ktora juz musialbys pomeczyc sie sam.. ja moge Ci tylko wskazac, w ktorym miejscu ta modyfikacja jest potrzebna i na czym ma polegac.

Edytowane przez FiDO

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Niestety przyznam ze calkowicie nie rozumiem tego skryptu. Drugi dzien probuje go przerobic do moich potrzeb i nie daje rady, zbyt slabo znam JavaScript aby cokolwiek z tym zrobic, wiec FiDO lub ktokolwiek inny prosze o pomoc. Nie wiem w jaki sposob zrobic tak aby po wybraniu danego imienia i nazwiska rozdzielily sie na dwa rozne inputy.

 

Jeszcze raz wyjasnie, chodzi mi o to ze w autouzupelnieniu pojawi sie imie i nazwisko a po wybraniu jednej opcji z autouzupelniania ma sie ona wyswietlic w ten sposob, ze imie bedzie w jednym <input type="text" name="imie"> a nazwisko w drugim <input type="text" name="nazwisko">

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

odszukaj w autocomplete.js:

hl&&(this.value=hl.innerHTML);
i zamien na

if (hl) {    s = hl.innerHTML.split(' ');    this.value = s[0];    $('ID_pola_do_ktorego_ma_isc_imie') = s[1];}
Zalozylem, ze nazwy do uzupelniania masz w kolejnosci: nazwisko, imie, wiec jak jest odwrotnie to sobie musisz numerki zamienic.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...