Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jquery]Dodawania do mysql
Forum PHP.pl > Forum > XML, AJAX
styryl
Witam duszpasterstwo:D

Moja skromna duszyczka ma wielki problem - chce dodać przy pomocy jquery ajax dane do bazy naskrobałem kod:

  1. <script type="text/javascript">
  2.  
  3. $(document).ready(
  4.  
  5. function(){
  6.  
  7. $("#ulubione").click(
  8.  
  9. function(){
  10. $("#ulubione").html('Ładowanie...');
  11.  
  12.  
  13. $.ajax({
  14. type: 'GET',
  15. url: "ajax.php",
  16. data: {id:"<?echo $id_u;?>"},
  17. success: function(response) { $("#ulubione").html(response); $("#ulubione").unbind('click')},
  18. error: function(xhr, type, exception) { alert("Error: " + type); }
  19. });
  20.  
  21. return false;
  22.  
  23.  
  24. });
  25.  
  26. });
  27.  
  28. </script>


Wszsytko działa i hasa aż miło jednak jest to do jednego diva o id=ulubione mój problem polega na tym że jak wyświetle dajmy na to liste filmów i przy nich chce zdrobić dodawanie do ulubionych przy pomocy jquery to musze mieć divy o różnych id więc dodaje $id z bazy i mam wtedy sytuacje taką:

<div id="1"><a href="#">dodaj</a></div>
<div id="2"><a href="#">dodaj</a></div>
<div id="3"><a href="#">dodaj</a></div>

i jak teraz zrobić aby jquery czytała te id? przekazywała do ajax.php?

Chyba troche namieszałem ale myśle że ogólny sens został przekazany

Proszę o pomoc i pozdrawiam phpowców
Quantum
przeanalizuj poniższe smile.gif

  1. <div id="links">
  2. <div id="1"><a href="#">dodaj</a></div>
  3. <div id="2"><a href="#">dodaj</a></div>
  4. <div id="3"><a href="#">dodaj</a></div>
  5. </div>


[JAVASCRIPT] pobierz, plaintext
  1. $("#links div a").click(function(){
  2. var id = $(this).parent().attr("id");
  3. alert(id);
  4. });
[JAVASCRIPT] pobierz, plaintext


PS.
[JAVASCRIPT] pobierz, plaintext
  1. $("#ulubione").click(
  2.  
  3. function(){
  4.  
  5. $("#ulubione").html('Ładowanie...');
[JAVASCRIPT] pobierz, plaintext


do elementu zdefiniowanego odwołujesz się magicznym słowem this, w tym przypadku nic to nie zmieni, ale w bardziej rozbudowanych skryptach stworzy to dodatkowy problem np:

[JAVASCRIPT] pobierz, plaintext
  1. $("#menu ul li").click(function(){
  2. $("#menu ul li").fadeOut();
  3. });
[JAVASCRIPT] pobierz, plaintext


w taki sposób znikną wszystkie elementy, wystarczy zmienić na $(this).fadeOut(); i gitara winksmiley.jpg
styryl
Dzięki za odp.

próbowałem Twojego sposobu na szybko bo czas mnie goni i coś mi nie działało więc na szybko wymyśliłem zrobić to tak:

  1. function schowek (id) {
  2.  
  3. var co = "#"+id+""
  4.  
  5.  
  6. $(document).ready(
  7.  
  8. function(){
  9.  
  10. $(co).click(
  11.  
  12. function(){
  13. $(co).html('Loading...');
  14.  
  15.  
  16. $.ajax({
  17. type: 'GET',
  18. url: "ajax.php",
  19. data: {id:id},
  20. success: function(response) { $(co).html(response); $(co).unbind('click')},
  21. error: function(xhr, type, exception) { alert("Error: " + type); }
  22. });
  23.  
  24. return false;
  25.  
  26.  
  27. });
  28.  
  29. });
  30.  
  31. }


Działa jednak wiem że jest to droga w tył niż do przodu jednak czas czas czas sad.gif musze troche posiedzieć nad jquery jak tylko znajdne czas.

Bardzo dziękuje za pomoc i pozdrawiam
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.