Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Operacje JS na doładowanych danych
Forum PHP.pl > Forum > XML, AJAX
Kasyx
Mam następujący problem:
Ładuję fragment kodu przez ajaxa. następnie chcę na nim wykonać inną operację JS, jednak nie mogę. Przeglądarka zdaje się nie rozpoznawać tego załadowanego htmla. Jak sobie z tym poradzić?
Skrypt wygląda tak:

  1. <?php
  2. $(document)
  3.  .ready( function() {
  4.  
  5.    $('#PanelList > span').click( function() {    
  6.      var file = $(this).attr('title');
  7.      
  8.      $.ajax({
  9.        url: 'ajax/panels.php',
  10.        cache: false,
  11.        type: "POST",
  12.        
  13.        data: {
  14.          action: 'load',
  15.          file: file,
  16.        },
  17.        
  18.        success: function(data){
  19.          $('#LoadedPanel').html(data);   //tu laduje cos co wyglada tak: <div id="zaladowane">Zaladowane</div>  
  20.        }
  21.      });
  22.    });
  23.    
  24.    $('#zaladowane').click( function() {          
  25.      alert('Działa');
  26.    });    
  27.    
  28.  });
  29. ?>
ayeo
Witam!

Podpinasz event do elementów, których jeszcze nie ma biggrin.gif

Kod
success: function(data)
{
    $('#LoadedPanel').html(data);
    $("#zaladowane", data).click( function() { alert("Działa"); });
}


Możesz też użyć pluginu livequery, ale narobisz sobie masę problemów innych.


Pozdrawiam!
k_@_m_i_l
Po co ładować plugin livequery,skoro w jQuery bodajże jak dobrze pamiętam to od wersji 1.3.x jest dostępna metoda live,która jest stworzona przez zespół zajmujący sie wydawaniem jQuery(ale mogę się mylić),więc nie powinien robić problemów.Sam go używałem ostatnio w aplikacji i nie było z nim żadnym problemów w IE6,IE7,FF,Operze,Chrome.Więcej o $.live
Kasyx
To rozwiązuje mój problem.
Dziękuję za pomoc smile.gif
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.