Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie działa html przesłany ajaxem
Forum PHP.pl > Forum > XML, AJAX
Grzegorz02
Witam,
chciałbym zrobić przeglądarkę plików znajdujących się na serwerze obsługiwaną ajaxem. Mam coś takiego:

  1. <div id="Okno_pliki" title="Explorer.">
  2. <font size="2">Adres: <b>rotor/</b></font>
  3.  
  4. <tr><td><img src="./images/backm.jpg" value="back" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_cen" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_stan_tow" class="folder"></td></tr>
  5. <tr><td></td><td><center>ak_cen</td><td>ak_stan_tow</td></tr>
  6.  
  7. </table>
  8.  
  9. </div>


plik JS:

[JAVASCRIPT] pobierz, plaintext
  1. $("#Okno_pliki img.folder").dblclick(function()
  2. {
  3.  
  4. a=$(this).attr('value');
  5. //alert (a);
  6. $.post("datas/users/id/im/folder.php",
  7. {
  8. folder: a
  9.  
  10. },function(data)
  11. {
  12. $("#Okno_pliki").html(data);
  13.  
  14.  
  15.  
  16. });
  17. });
[JAVASCRIPT] pobierz, plaintext



plik folder.php:

  1. $akcja=$_POST['folder'];
  2.  
  3.  
  4. $dane=<<<EOD
  5.  
  6.  <font size="2">Adres: <b>rotor/$akcja/</b></font>
  7. <table>
  8.  
  9. <tr><td><img src="./images/backm.jpg" value="back" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_cen" class="folder"></td><td><center><img src="./images/katm.jpg" value="ak_stan_tow" class="folder"></td></tr>
  10. <tr><td></td><td><center>ak_cen</td><td>ak_stan_tow</td></tr>
  11.  
  12. </table>
  13.  
  14.  
  15.  
  16. EOD;
  17.  
  18.  
  19.  
  20.  
  21. echo $dane;



Gdy dane zostaną przesłane ajaxem, nie działają już na tych danych skrypty js, dlaczego?
chodzi o to wywołanie:

$("#Okno_pliki").html(data);
markonix
https://api.jquery.com/live/

To przestarzała metoda ale jest to dobra strona wyjściowa do prawidłowego rozwiązania.
Cytat
which simplifies the use of event handlers when content is dynamically added to a page
Grzegorz02
Poprawiłem js wg wskazówki, nie działa, wygląda tak jak by był błąd składni ...
jquery jest w wersji 1.11.1

[JAVASCRIPT] pobierz, plaintext
  1. $("#Okno_pliki img.folder").live('dblclick',function()
  2. {
  3.  
  4. a=$(this).attr('value');
  5. //alert (a);
  6. $.post("datas/users/id/im/folder.php",
  7. {
  8. folder: a
  9.  
  10. },function(data)
  11. {
  12. $("#Okno_pliki").html(data);
  13.  
  14.  
  15.  
  16. });
  17. });
[JAVASCRIPT] pobierz, plaintext
viking
.live() jest już bardzo dawno przestarzałą funkcją. Masz użyć .on(). W stopce mam artykuł o tym.
markonix
sciana.gif przecież napisałem, że live wysyłam Ci jako punkt wyjścia i wyraźnie zaznaczyłem, że nie masz go użyć tylko przeczytać dokumentacje.
rad11
Jezeli chcesz sie odwolac do elementu ktory jest tworzoiny dynamicznie musisz uzyc takiej struktury:

  1. $(document).on("click", '#twoj_element', function(){
  2.  
  3. console.log(1);
  4.  
  5. });
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.