![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 7.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
witam, mam zrobiona wyszukiwarke w ajaxie, wiadomo dziala w ten sposob ze wyszukuje bez przeladowania strony. W kolumnach ktore sie pojawiaja sa rozne dane, w jednej z kolumn wyswietlam liczbe ktora jest ta sama dla wszystkich rekordow z tym ze liczba jest zalezna od tego ile osob kliknie w link, chcialem zeby liczba sie odswiezala ustawilem odswiezanie na 10s i mam taki problem ze liczba odswieza sie tylko w pierwszym wierszu a w pozostalych pozostaje taka sama a chodzilo mi o to zeby sie odswiezala cala kolumna, zeby dzialalo w ten sposob ze jezeli w wyniku wyszukiwania zostana wyswietlone 4 rekordy to po 10 sekundach przy kazdym znim odswiezy sie liczba bo teraz odswieza sie tylko przy pierwszym, czy jest na to jakies rozwiazanie ?
W ten sposob wyswietlam rekordy search.php w ten sposob odswiezam index.php a ty jest plik cyfra.php
Ten post edytował plcm 19.05.2012, 16:24:34 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 1 Dołączył: 14.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Być może się pomylę, ale jednym z kilku problemów jest to że w pętli dodajesz sobie coś takiego jak <div id='content1''></div>. Niech search zwróci np 10 rekordów, które mają początkowo wartość 1 w tym miejscu zwróconą przez cyfra.php. Problem jest taki, że: ID musi być unikalne w skali całego htmla, tak że kod na pewno Ci się nie będzie walidował jeżeli będzie więcej zwróconych rekordów niż jeden. Natomiast jeżeli jest te przykładowe 10 rekordów to jQuery aktualizuje Ci pierwszy napotkany identyfikator, bo po znalezieniu pierwszego nie szuka już innych wystąpień id="content1" ponieważ specyfikacja w3c tego nie dopuszcza :-)
P.S. Nie wyobrażam sobie jak to może Ci działać, nawet jak rozwiążesz ten problem z identyfikatorem. Pozdrawiam :-) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Natomiast jeżeli jest te przykładowe 10 rekordów to jQuery aktualizuje Ci pierwszy napotkany identyfikator, bo po znalezieniu pierwszego nie szuka już innych wystąpień id="content1" ponieważ specyfikacja w3c tego nie dopuszcza :-) Działa to troszkę inaczej. jQuery odnajdzie raczej ostatni element o danym identyfikatorze, bo nie chodzi o to, że nie wyszukuje kolejnych elementów o takim samym id, ale o to, że odnajduje tylko jeden taki element zastępując wcześniejsze.Nie mniej to po części pomoże w rozwiązaniu problemu, jak to słusznie zauważyłeś. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 7.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
ogolnie to wydaje mi sie ze nie dziala to dla tego ze przy odswiezeniu nie wykonuje sie ponownie cala petla i jquery nie wie ile razy wystepuje rekord na stronie, po za tym w kodzie widac ze div nie znajduje sie w petli bo ja przerwalem zeby wstawic diva ogolnie myslalem zeby odswiezac to
<div id='ile'><th>ile</th></div> ale nie wiem co bym mial przypisac funkcji load |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 8 Dołączył: 9.02.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Tak jak pisał pczeglik id powinno być unikalne tzn lepiej użyj tutaj klasy, którą spokojnie wykorzystasz jako zaczep w jQuery.
Spróbuj zamknąć swoją funkcje w dodatkowego eacha np.
P.S.oczywiście tego each umieść wewnątrz setInterval żeby Ci dla każdego elementu nie czekał Ten post edytował hubson87 20.05.2012, 16:04:33 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 7.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
zaznacze ze nie wiem a nawet jestem pewny ze cos zle zrobilem bo nie dziala, zrobilem tak :
to zamienilem w ten sposob a to
zamienilem na Ten post edytował plcm 20.05.2012, 18:21:51 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 8 Dołączył: 9.02.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zapomniałeś o nawiasie, a poza tym znowu odwołujesz się przez id.
Powinno być tak.
Btw zainstaluj sobie firebuga czy coś to będziesz widział błędy w js'ach |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 7.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
super, dziala, tylko smiesznie to wyglada ja jest np 30 wynikow i po kolei przeskakuje kazda liczba myslalem ze wszystkie naraz sie zmienia
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 8 Dołączył: 9.02.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W sumie bez sensu 30 razy wykonywać to samo zapytanie
Zamień ten skrypt na taką postać.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 7.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
zmienilem i powiem Ci ze dziala, ale tak samo jak poprzednio ale najwazniejsze ze dziala
![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 1 Dołączył: 14.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
Działa to troszkę inaczej. jQuery odnajdzie raczej ostatni element o danym identyfikatorze, bo nie chodzi o to, że nie wyszukuje kolejnych elementów o takim samym id, ale o to, że odnajduje tylko jeden taki element zastępując wcześniejsze. Nie mniej to po części pomoże w rozwiązaniu problemu, jak to słusznie zauważyłeś. Żeby się utwierdzić w moim zdaniu, zrobiłem szybki test. Zerknij proszę tutaj: jsFiddle - pobieranie id (jQuery). Wynika z tego, że mam rację. Zwrócona jest wartość pierwszego znalezionego elementu. P.S. Dalsze przeszukiwanie DOM było by nieoptymalne, dlatego kończy się po pierwszym wystąpieniu. Pozdrawiam. |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 7.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Pozwole sobie jeszcze pociagnac ten temat poniewaz natrafilem na maly problem wszystko dzialalo dopoki w pliku cyfra nie zmieniliem lini
na
plik search.php wyglada teraz tak : odswiezam w ten sposob czyli dziala to w ten sposob ze plik cyfra liczy ile jest id dla id obok ktorego sie znajduje, przy zaladowaniu strony pojawia sie cyfra 1 czyli jest ok ale przy odswiezeniu jest cyfra 0 i tak zostaje wiem ze dzieje sie tak dla tego ze przy pierwszym zaladowaniu strony jest dostarczana informacja o $row['id_p'] a przy odswiezeniu tej info juz nie ma. Nie wiem w jaki sposob to rozwiazac tak aby id ktore jest pobierane przy zaladowaniu strony zostawalo w pliku cyfra. Czy ma ktos jakis pomysl? Ten post edytował plcm 21.05.2012, 18:36:33 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.07.2025 - 07:26 |