Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [xml][jquery]
Forum PHP.pl > Forum > XML, AJAX > XML
rulespl
Witam
Mam problem z obsługą danych z pobranego xml'a
Odczytywana jest tylko pierwsza wartość z pliku
oto kod:
  1. $.ajax({
  2. type: "POST",
  3. url: "rysuj.xml",
  4. dataType: "xml",
  5. success: function(xml) {
  6. $(xml).find('pozycja',xml).each(function(i){
  7. var id = $(this).attr('id')
  8. //chyba tu jest jakis problem questionmark.gifquestionmark.gif
  9. var punkt = $(this).find('kurs').text();
  10.  
  11. $('<li></li>').html(punkt+ ' (' + id + ')').appendTo('#punkt ol');
  12.  
  13. }); //close each(
  14. }
  15.  
  16. }); //close $.ajax(

i pobierany plik
Kod
   <wykres>
  
   <pozycja id="1">
   <kurs>12</kurs>
   </pozycja>
  
   <pozycja id="2">
   <kurs>34</kurs>
   </pozycja>
  
   <pozycja id="3">
   <kurs>76</kurs>
   </pozycja>
   </wykres>


w zmiennej punkt tak jakby jest wrzucana tylko pierwsza wartość

Pomocy!!! :]
erix
Sprawdź, czy wszystko jest w porządku w konsoli przeglądarki.

Nie mam pewności, ale może chodzić o to:
Kod
var punkt = $(xml).index(i).find('kurs').text();
rulespl
Sorki, mój błąd, kod przedstawiony wcześniej działa, ma problem jak dodaje funkcje do rysowania wykresu w svg. Korzystam z biblioteki raphael.js. Sprawdzałem kod bez użycia Ajax i działa. Problem pojawia sie gdy dane do wykresu pobieram z XML'a dynamicznie.
oto funkcja:
Kod
function rysuj(punkt) {
        
         var path = paper.path({stroke: "green", "stroke-width":2}).relatively().moveTo(55, 230).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt).lineTo(50, -punkt);
            return path;            
         }


Problem jest jak korzystam z niej wewnatrz funckji each
Kod
success: function(xml) {
                         var paper = Raphael("wstaw", 800, 600);
                        paper.drawGrid(55, 20, 500, 210, 10, 10, "#333");
                     $(xml).find('pozycja',xml).each(function(i){
        
                        

                        var id = $(this).attr('id')
                        var punkt = $(this).find('kurs').text();
                        
                        
                        $('<li></li>').html(punkt+ ' (' + id + ')').appendTo('#punkt ol');
                        //nie dziala exclamation.gif!!
                        mmm = rysuj(punkt);
                        wyjscie = wyjscie+ mmm;
            
                     })


Rysuje tylko siatke (paper.drawGrid) i podaje tylko pierwsza wartosc z xml w <ol>
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.