Pokaż wyniki od 1 do 4 z 4

Wątek: [jQuery] Wczytywanie danych AJAX'em a następnie operacje na nich.

  1. #1
    Aktywny
    Dołączył
    Dec 2011
    Posty
    273

    Domyślnie [jQuery] Wczytywanie danych AJAX'em a następnie operacje na nich.

    Witajcie.

    Mam taki problem, iż do elementu:
    Kod php:
    <div id='board'></div
    ...wczytuje dane z bazy danych, są to wiadomości (coś a'la tablica z Facebook'a). Do tego elementu wgrywane są takie elementy jak:
    Kod php:
    <div class='board_window'>
    //[...]

    <div class='board_bottom'>
    //[...]
    <span class='item'><a href='#' class='board_comment' id='".$message['board_id']."'>Comment</a></span>
    </
    div>
                        
    <
    div id='board_comment_".$message['board_id']."' style='display: none'>
    Tutaj komentarze
    </div>
    </
    div
    ... oczywiście na pewno wiecie, że te dane nie będą widziane w źródle strony. Teraz moje pytanie:
    - Czy funkcja click() zadziała na takich elementach? To znaczy na elementach które są dynamiczne wczytywane AJAX'em i nie widnieją w źródle strony.

    Próbowałem na przykład dać coś takiego:
    Kod php:
    $(".board_comment").click(function(){
        
    alert("trgfd");
    }); 
    ... lecz to nie działa.

  2. #2
    Zasłużony Awatar Rodkan
    Dołączył
    Mar 2011
    Posty
    1,465

    Domyślnie

    Z tego co pamiętam to u mnie chyba coś takiego działało ale ja korzystam z .live(). Ba, jak wczytałem kilka stron (dynamiczne przełączanie miałem), to skrypt .live('click') który ładował się x razy, x razy się wykonywał.

  3. #3
    Aktywny
    Dołączył
    Dec 2011
    Posty
    273

    Domyślnie

    Chyba jednak nie działa zaraz powiem czemu, ale najpierw jeszcze raz szczegółowo wytłumaczę działanie skryptu;

    W pliku w którym się wyświetlają wiadomości mam div'a o id board, wygląda to tak:
    Kod php:
    <div id='board'></div
    W innym pliku .php wczytuje dane, do wyżej wymienionego div'a, (za pomocą AJAX'a) wczytuje mi:
    Kod php:
    <div class='board_window'>
    //[...]

    <div class='board_bottom'>
    //[...]
    <span class='item'><a href='#' class='board_comment' id='".$message['board_id']."'>Comment</a></span>
    </
    div>
                        
    <
    div id='board_comment_".$message['board_id']."' style='display: none'>
    Tutaj komentarze
    </div>
    </
    div
    ... za pomocą skryptu jQuery, który odświeża element co 10 sekund lub po wysłaniu danych za pomocą formularza.

    Teraz chcę aby po kliknięciu na:
    Kod php:
    <span class='item'><a href='#' class='board_comment' id='".$message['board_id']."'>Comment</a></span>
    // chodzi mi o sam odnośnik z class board_comment 
    ... pojawił się na przykład byle jaki alert(); Oczywiście to nie działa. Teraz wracając do pliku gdzie jest div do którego są wczytywane pliki: pod tym div'em dałem tą samą linijkę kodu co wyżej, teraz alert poprawnie mi się pojawia gdy kliknę na odnośnik który dodałem ręcznie. Wniosek: .click() działa tylko na elementach w źródle strony, a nie tych co są dynamicznie wczytywane ajax'em. Macie jakiś pomysł jak to zrobić aby działało?

    __________________________________________________ _________


    Funkcja .live() działa poprawnie, dzieki Rodkan. Po prostu jestem przyzwyczajony do funkcji .click(), zresztą powinna działać tak jak wskazuje jej nazwa, na wszystkich elementach.
    Ostatnio edytowane przez Bartek ; 16-04-2013 o 22:07

  4. #4
    Zarejestrowany
    Dołączył
    Mar 2008
    Posty
    251

    Domyślnie

    Tak gwoli ścisłości - live() jest deprecated, a w jQuery 2.0 chyba już w ogóle jej nie ma. Najlepiej używać handlera .on(), jednocześnie (jeżeli element będzie wczytany dynamicznie) trzeba ustawić wyszukiwanie eventu na cały dokument, np.: $(document.body).on("click", "#id_elementu", function () {});

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. Chat bez jquery - czysty PHP/JS/Ajax
    Przez leonpro778 w dziale PHP / MySql
    Odpowiedzi: 11
    Ostatni post / autor: 16-08-2011, 15:24
  2. Wczytywanie danych z pliku
    Przez vercuz w dziale PHP / MySql
    Odpowiedzi: 8
    Ostatni post / autor: 08-06-2010, 13:49
  3. jQuery - ajax brak zwrotu danych
    Przez Speedy w dziale JavaScript/AJAX
    Odpowiedzi: 3
    Ostatni post / autor: 28-05-2010, 16:37
  4. [Ajax][Jquery]Skrypt D&D
    Przez Kemsan w dziale JavaScript/AJAX
    Odpowiedzi: 1
    Ostatni post / autor: 26-12-2008, 20:41

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •