Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery][PHP]
Forum PHP.pl > Forum > XML, AJAX > AJAX
amar91
Witam!
Od kilku dni próbuję rozwiązać pewien problem ale mi się nie udaje, więc postanowiłem poprosić tutaj o pomoc.
Do rzeczy, piszę skrypt który za pomocą jQuery i PHP odczytuje konkretną wiadomość ale bez przeładowania strony.
Skrypt w jQuery odczytuje znacznik "alt" w divie i zapisuje do zmiennej "id" następnie przekazuje do skryptu php który z bazy danych odczytuje wiadomość o danym id i dane powracają do skryptu jQuery.
Cały problem polega na tym, że gdy mam wyświetloną listę dajny na to 5 wiadomości jQuery odczytuje tylko znacznik "alt" z pierwszej wiadomości i klikajac na obojetnie którą wiadomość wyświetla się tylko pierwsza.

Tu daje kody:
1. to jest kod jQuery
CODE
$(document).ready(function(){
$("#bar2 div").click(function () {
var id = $("div#pole_list").attr("alt");
$.get("receive_variables.php", {func:"letter", id: id},

function(returned_data)
{
$("#pokaz").html(returned_data);
});
});
});


2. plik receive_variables.php(zbedne ale podam)
CODE
if($_GET['func'] == "letter") {

$wynik3 = mysql_query ("SELECT * FROM `letters` WHERE id='".$_GET['id']."' ;") or
die ("blad w pytaniu");

while ($rekord3 = mysql_fetch_assoc ($wynik3)) {
$id3 = $rekord3['id'];
$od_kogo3 = $rekord3['od_kogo'];
$tresc3 = $rekord3['tresc'];
$data3 = $rekord3['data'];
$temat3 = $rekord3['temat'];
$status3 = $rekord3['status'];


print ''.$od_kogo3.'';
print '';
print ("".$temat3."");
print $tresc3;

}
mysql_query("UPDATE `letters` SET status=1 WHERE id='".$_GET['id']."' ;") or die ("cos nie tyklo");




Mam nadzieje, że dobrze to opisałem i znajdzie się jakieś rozwiązanie.
Pozdrawiam!
erix
Kod
var id = $("div#pole_list").attr("alt");

Pokaż drzewko DOM, które znaczniki/identyfikatory się gdzie znajdują.

A podejrzewam, że masz nazwane kilka pól #pole_list. To błędny zapis, gdyż ID musi być unikalne w całym dokumencie.
amar91
Wygląda to mniej więcej tak.
div #pole_list powtarza się kilka razy, z w zależności od ilości wiadomości.

<div style="display: block;" id="bar2" class="menu"><p>
<div id="pole_list" alt="56"><div class="pole_tekstowe_list1">1</div>
<div class="pole_tekstowe_list2">jakis temat</div>
<div class="pole_tekstowe_list3">2008-12-30 12:12</div></div>
</p></div>
erix
Cytat
div #pole_list powtarza się kilka razy

Jednak dobrze mi się wydawało.

Wbij sobie do głowy, gdyż o tym już wspomniałem: http://www.w3.org/TR/CSS21/selector.html#id-selectors

Cytat
The ID attribute of a document language allows authors to assign an identifier to one element instance in the document tree.

Atrybut ID języka dokumentu pozwala autorom przypisać identyfikator dla JEDNEGO ELEMENTU w drzewie dokumentu. Czyli nie wolno robić czegoś takiego:
Kod
<div id="asd"></div><div id="asd"></div>


Od czegoś takiego są klasy.

Odrób pracę domową, potem wróc.
bartg
  1. <?php
  2. $(document).ready(function(){
  3. $("#bar2 div").click(function () {
  4. $("div#pole_list").each(function () {
  5. $.get("receive_variables.php", {func:"letter", id: this.id},
  6.  
  7. function(returned_data)
  8. {
  9. $("#pokaz").html(returned_data);
  10. });
  11.  
  12. });
  13. });
  14. });
  15. ?>

Tylko zamiast id daj clas
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.