JQuery en Flot

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 12-09 23:23

Guldan

Thee-Nerd

Topicstarter
Ik heb het volgende gemaakt icm met asp.net MVC en Flot. Ik genereer grafiek informatie in een JSON formaat welke ik inlees in Flot. Echter loop ik nu tegen een klein probleemje aan.

Ik heb het volgende:
JavaScript:
1
2
3
4
5
6
//names bevat de namen
//coords bevat de x,y coordinaten van de grafiek
var output = []
                for (var i = 0; i < names.length; i++) {
                    output[i] = [{ 'label': names[i], 'data': coords[s][/s][i]}];
                }


Na dit stuk code bevat de array output inderdaad drie elementen echter wanneer ik deze meegeef aan Flot door onderstaande uit te voeren:

JavaScript:
1
$.plot($("#graphplaceholder"), output);


Gebeurd er echter niets in mijn grafiek. Wanneer ik bijvoorbeeld output[0] meegeef aan flot laat hij zoals verwacht wel een label en een grafiek zien (van het eerste item). Ik zie wat over het hoofd waarom dit niet werkt, echter kan ik het niet vinden op internet.

Ik heb wel gezocht om aan flot een array mee te geven het enige wat ik daar vond waren de enkele quotes en die maken geen enkel verschil. Ik hoop dat jullie nog een goed idee hebben.

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

Verwijderd

Heb geen ervaring met flot maar uit dit voorbeeld denk ik dat je 2 maal een array en dan 1 object definieert terwijl flot 1 array en vervolgens 1 object verwacht.

hoe werkt dit?
code:
1
2
3
4
5
var output = [];
$.each(names,function(index,value) {
output[index] = { 'label': names[index], 'data': coords[s][/s][index]}; 
});
$.plot($("#placeholder"),output);

[ Voor 3% gewijzigd door Verwijderd op 21-04-2010 18:26 ]


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 12-09 23:23

Guldan

Thee-Nerd

Topicstarter

Dragoslav: het volgende werkt namelijk wel:

[code = "javascript"]
$.plot($("#placeholder"),[{Label:names[0],data:coords[0]}, {Label:names[1], data: coords[1]}]);
[/code]

Maargoed dan snap ik nog niet waarom het niet zou moeten werken. Wat bedoel je precies met je bovenstaande oplossing?


Edit:IK heb het al gevonden.. ik was nogal dom bezig. Het had het volgende moeten zijn:

JavaScript:
1
2
3
4
5
6
7
var output = []
                for (var i = 0; i < names.length; i++) {
                    output[i] = { 'label': names[i], 'data': coords[i]};
                }

            
                $.plot($("#graphplaceholder"), output);


De blokhaken moesten inderdaad weg.. die maken van elk subelement (in het vorige voorbeeld)nog een array.

[ Voor 44% gewijzigd door Guldan op 21-04-2010 21:49 ]

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

  • pieturp
  • Registratie: April 2004
  • Laatst online: 27-08 14:18

pieturp

gaffa!

Vergelijk de twee arrays (jouw niet werkende voorbeeld en je werkende voorbeeld) 'ns met bijvoorbeeld firebug en dan console.dir(array1,array2);
Mijn glazen bol zegt me dat je 't volgende 'ns moet proberen: array.push()

[ Voor 9% gewijzigd door pieturp op 21-04-2010 21:45 . Reden: verduidelijking ]

... en etcetera en zo


Acties:
  • 0 Henk 'm!

Verwijderd

*Edit* Hij heeft hem al gevonden.

p.s. gebruik de $.each als je toch al JQeury gebruikt ;)

[ Voor 90% gewijzigd door Verwijderd op 21-04-2010 21:50 ]


Acties:
  • 0 Henk 'm!

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 12-09 23:23

Guldan

Thee-Nerd

Topicstarter
Ja inderdaad daar was ik al achter. Bedankt!

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


Acties:
  • 0 Henk 'm!

Verwijderd

Graag gedaan!
Pagina: 1