Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obsluga skryptu z zaladowanego juz dokumentu przez jquery
Forum PHP.pl > Forum > XML, AJAX
shimano
Witam.

Z gory przepraszam, jesli temat juz byl poruszany. Staralem sie szukac, ale naprawde ciezko skleic sensowne zapytanie do wyszukiwarki, zeby znalazlo satysfakcjonujaca odpowiedz.

Otoz problem polega na tym, ze:
Jest strona, ktora po kliknieciu laduje tresc drugiej strony i ta druga strona posiada w kodzie odwolania do skryptu zaimplementowanego na stronie pierwszej, ale wogole na niego nie reaguje.

Przyklad:
Strona pierwsza:
  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
  2. <script type="text/javascript">
  3. // jedna funkcja do obslugi wszystkich ajaxowych linkow
  4. $(document).ready(function () {
  5. $('.laduj').click(function () {
  6. var cel = '#'+$(this).attr('cel');
  7. var skad = '#'+$(this).attr('id');
  8. var zrodlo = '#'+$(this).attr('zrodlo');
  9. var dane = $(skad).attr('dane');
  10. if(zrodlo) {
  11. $(cel).load('dodaj_film.php?a=1&tytul='+$(zrodlo).attr('value'));
  12. }
  13. else {
  14. $(cel).load('dodaj_film.php?'+dane);
  15. }
  16. });
  17. });
  18. </head>
  19. <body><FONT face='Verdana' size='2'>
  20. <div id="wyszukiwarka">
  21. <Input type="text" id="tytul"> - <Input type="button" value="Sprawdz" id="sprawdz" class="laduj" cel="wyniki" zrodlo="tytul">
  22. </div>
  23. <div id="wyniki">
  24. </div>
  25.  
  26. </body>
  27. </html>


Druga strona, ladowana przez pierwsza:

  1. (..)
  2. while($rekord = @mysql_fetch_array($q)) {
  3. echo "\n<A href='#' class='laduj' id='tyt$rekord[id]' cel='film$rekord[id]' dane='a=2&tytid=$rekord[id]'>$rekord[tytul]<A><BR><div id='film$rekord[id]'></div>\n";
  4. }
  5.  
  6. (..)


Jak widac, linki generowane przez strone druga posiadaja klase "laduj", wiec mialem nadzieje, ze beda obslugiwane przez jquery, tak samo jak guzik "sprawdz" ze strony pierwszej. Niestety, w linkach jest calkowity brak reakcji;/

Czy jquery nie moze obslugiwac zdarzen zaladowanych juz przez jquery z innego pliku?

P.S.
Jezeli wyrazilem sie niezrozumiale, prosze nie krzyczec, a delikatnie zwrocic uwage. Postaram sie wtedy rozrysowac swoje mysli.
patryczakowy
funkcja .live() niedawno wałkowałem ten sam problem http://forum.php.pl/index.php?showtopic=145271&hl=
mortus
Dokładnie. Dodam, że powinieneś jej użyć w linijce 7. Możesz podglądnąć jQuery .live() API.
shimano
Dziala, wielkie dzieki i jeszcze dodatkowe dziekuje za bardzo szybka odpowiedz!


Jeszcze tak przy okazji, ze juz tutaj jest ten kod wklejony zapytam, czy ktos wie dlaczego IE na tej stronie drugiej nie wyswietla mi pelnego wyniku w formacie "LINK (costam)" tylko "(costam)", a to co jest pomiedzy <A> i </A> nie jest wyswietlane?
I przy okazji wyswietla tylko jeden (pierwszy) wynik, zamiast kompletnej listy...
mortus
Chyba źle łączysz łańcuchy znaków. Powinno być
  1. echo "\n<A href='#' class='laduj' id='tyt" . $rekord['id'] . "' cel='film" . $rekord['id'] . "' dane='a=2&tytid=" . $rekord['id'] . "'>" . $rekord['tytul'] . "<A><BR><div id='film" . $rekord['id'] . "'></div>\n";
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.