Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP][JavaScript]Lista w JS
Forum PHP.pl > Forum > Przedszkole
wojtekiglak
Więc od początku:
Jest lista wyników (ok 15k) w JS i jak wpisuje się hasło to wyświetlanie poniżej pola input najbardziej zbliżonych wyników pojawia się już od 1 wpisanego znaku.
Chciałbym zmienić wyświetlanie tych najbardziej zbliżonych wyników z 1 na 3, 4 lub 5, bo strasznie przymula. Przymula gdyż po wpisaniu np literki "a" musi przerobić 15k wyników, po "ab" już jest mniej, ale też wolno chodzi. Być może po 3, 4 lub 5 znaku będzie to płynniej chodzić.
Były próby Ajaxa z podpowiedziami do tego, ale gryzło się z czymś na następnych podstronach, więc wolę spróbować z tym.
Gdzie znajdę kod jaki trzeba dopisać ?
Ważne:
1. To jest lista w js, a nie wyszukiwarka, nie ma nawet buttona "szukaj"
2. Wyświetlanie poniżej input po wpisywaniu znaków to nie są podpowiedzi Ajax.
johny_s
Cytat(wojtekiglak @ 23.11.2014, 22:08:10 ) *
Więc od początku:
Jest lista wyników (ok 15k) w JS i jak wpisuje się hasło to wyświetlanie poniżej pola input najbardziej zbliżonych wyników pojawia się już od 1 wpisanego znaku.
Chciałbym zmienić wyświetlanie tych najbardziej zbliżonych wyników z 1 na 3, 4 lub 5, bo strasznie przymula. Przymula gdyż po wpisaniu np literki "a" musi przerobić 15k wyników, po "ab" już jest mniej, ale też wolno chodzi. Być może po 3, 4 lub 5 znaku będzie to płynniej chodzić.
Były próby Ajaxa z podpowiedziami do tego, ale gryzło się z czymś na następnych podstronach, więc wolę spróbować z tym.
Gdzie znajdę kod jaki trzeba dopisać ?
Ważne:
1. To jest lista w js, a nie wyszukiwarka, nie ma nawet buttona "szukaj"
2. Wyświetlanie poniżej input po wpisywaniu znaków to nie są podpowiedzi Ajax.

sprawdz 4 linijke w 2 pliku
wojtekiglak
Cytat(johny_s @ 23.11.2014, 22:27:14 ) *
sprawdz 4 linijke w 2 pliku

W którym drugim pliku ?
johny_s
no w tym drukim
wojtekiglak
Będzie ktoś w stanie w tym pomóc ? Za mało danych podałem ? Może jakiś kod wkleić ? Tylko skąd dokładnie ?
markuz
Podstawowe pytanie co to jest lista wyników? Tablica w JS? Jaką ma strukturę?
Przy 15k rekordach warto skorzystać z bazy ponieważ ona to szybciej przemieli niż JS i wynik wyrzuci przez AJAX.
wojtekiglak
Cytat(markuz @ 25.11.2014, 12:20:11 ) *
Podstawowe pytanie co to jest lista wyników? Tablica w JS? Jaką ma strukturę?
Przy 15k rekordach warto skorzystać z bazy ponieważ ona to szybciej przemieli niż JS i wynik wyrzuci przez AJAX.

Lista wyników to zbiór id wyświetlających się pod polem input, które mają swoje miejsce w SQL w kolumnie id. Mówię na to lista bo to nie jest wyszukiwarka typowa, czyli po kliku w search nie ma wyników wyszukiwania, a jedynie po wpisywaniu w input są "podpowiedzi" w js i przejście od razu do danego id. Struktura listy to po prostu lista wywoływana z SQL. Chodzi tylko o to, żeby nie dawało tych "podpowiedzi" już od pierwszego znaku bo wtedy musi przemielić 15k wyników.
nospor
Dobra, widze post nr2 oraz post nr4 nie zapalily Tobie zadnej zaroweczki w glowie, nie liczac Twojego raportu ze skargą.... Tak wiec napisze wprost:

PODAJ CHLOPIE KOD. WROZEK NIE MA...
wojtekiglak
Cytat(nospor @ 25.11.2014, 13:36:41 ) *
Dobra, widze post nr2 oraz post nr4 nie zapalily Tobie zadnej zaroweczki w glowie, nie liczac Twojego raportu ze skargą.... Tak wiec napisze wprost:

PODAJ CHLOPIE KOD. WROZEK NIE MA...


To pytałem przecież, nie można tak od razu wprost, żarówka zapaliła się, ale te odpowiedzi to jakieś takie bezpłciowe: ani cześć, ani sp****aj. Ja tu nowy na forum i w kodzie, więc proszę o wyrozumiałość, to PRZEDSZKOLE jest, chyba że zrobicie ŻŁOBEK to się tam przeniosę smile.gif

JS: http://wklej.org/id/1537593/

PHP: http://wklej.org/id/1537597/

Dzięki za zainteresowanie.
markuz
[JAVASCRIPT] pobierz, plaintext
  1. $(input)
  2. .change( function () {
  3. var filter = $(this).val();
  4. console.log(filter.length);
  5. if (filter.length>3)
  6. {
  7. if(filter) {
  8. console.log('szukam...');
  9. $(list).find("a:not(:Contains(" + filter + "))").parent().hide();
  10. $(list).find("a:Contains(" + filter + ")").parent().show();
  11. } else {
  12. $(list).find("li").show();
  13. }
  14. }
  15.  
  16. return false;
  17. })
  18. );
[JAVASCRIPT] pobierz, plaintext


To jest kod odpowiedzialny za wpisywanie ale z tego co widzę - masz ustawiony limit, że szuka dopiero od 4 znaków ( > 3). Dodałem wywołania console.log - Wpisz 1 znak, 2 znaki, 3 znaki itd. i daj to co zwróciła konsola.
wojtekiglak
Cytat(markuz @ 25.11.2014, 14:03:05 ) *
[JAVASCRIPT] pobierz, plaintext
  1. $(input)
  2. .change( function () {
  3. var filter = $(this).val();
  4. console.log(filter.length);
  5. if (filter.length>3)
  6. {
  7. if(filter) {
  8. console.log('szukam...');
  9. $(list).find("a:not(:Contains(" + filter + "))").parent().hide();
  10. $(list).find("a:Contains(" + filter + ")").parent().show();
  11. } else {
  12. $(list).find("li").show();
  13. }
  14. }
  15.  
  16. return false;
  17. })
  18. );
[JAVASCRIPT] pobierz, plaintext


To jest kod odpowiedzialny za wpisywanie ale z tego co widzę - masz ustawiony limit, że szuka dopiero od 4 znaków ( > 3). Dodałem wywołania console.log - Wpisz 1 znak, 2 znaki, 3 znaki itd. i daj to co zwróciła konsola.


Dalej zamula, chociaż lista zaczyna pojawiać się dopiero przy 4 wpisanym znaku i wtedy spowalnia, czyli cały dokument wczytuje.
Jednak koncepcja się zmienia, bo kombinuję z AJAX ale gryzie się coś js i nie wiem co, zdam relacje niedługo i powróce pewnie za kilka godzin. Podziękowania narazie dla markuz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.