Autor | Zpráva | ||
---|---|---|---|
quiced Profil |
#1 · Zasláno: 19. 1. 2014, 10:13:44
Zdravím,
už delší dobu se peru s tím jak dostat data z databáze pomocí jquery konkrétně to potřebuji proto, abych vytvořil slider, který bude měnit hodnoty, které bude brát právě z databáze. Vytvořil jsem si takovýto jquery script. $("#slider-amount").slider({ range: "min", value: 450000, min: 100000, max: 1000000, step: 50000, slide: function( event, ui ) { $( "#amount" ).val( ui.value); }, stop: function( event, ui ){ $("form#calculator").trigger("change"); } }); $("form#calculator").bind("change", function(){ var hodnoty = $("#calculator").serialize(); $.ajax({ type: 'POST', url: "vypocet.php", data: hodnoty, cache: false, success: function(response){ $( "#vypocet_splatka" ).html( response.splatka + " Kč"); $( "#vypocet_pocet_splatek" ).html( response.pocet_splatek + " měsíců"); $( "#vypocet_celkem" ).html( response.celkem + " Kč"); }, dataType: "JSON" }); }); Bohužel jsem již nikde nenašel návod jak vytvořit soubor vypocet.php a s tím bych potřeboval hlavně pomoct. Po přečtení desítek článků jsem si vytvořil toto: <?php echo json_encode(array('splatka' => '1000', 'celkem' => '1000'); header('Content-Type: application/json'); ?> ale musím říct, že mi to z nějakého důvodu nefunguje. Kdyby mi s tím někdo pomohl byl bych mu velice vděčný. Díky všem za pomoc. |
||
Taps Profil |
#2 · Zasláno: 19. 1. 2014, 10:20:38
quiced:
zkus to trošku upravit $("form#calculator").bind("change", function(){ var hodnoty = $("#calculator").serialize(); $.ajax({ type: 'POST', url: "vypocet.php", dataType: "JSON", data: hodnoty, cache: false, success: function(response){ $( "#vypocet_splatka" ).html( response.splatka + " Kč"); $( "#vypocet_pocet_splatek" ).html( response.pocet_splatek + " měsíců"); $( "#vypocet_celkem" ).html( response.celkem + " Kč"); } }); }); |
||
quiced Profil |
#3 · Zasláno: 19. 1. 2014, 10:36:14
Bohužel to nepomohlo, myslím si, že největší problém bude v tom PHP souboru, ale jsem v jquery úplný začátečník takže nevím.
|
||
Taps Profil |
#4 · Zasláno: 19. 1. 2014, 10:43:44
quiced:
a jakou chybu hlásí konzole ve firefoxu ? |
||
Fisir Profil |
#5 · Zasláno: 19. 1. 2014, 10:43:58
Reaguji na quiceda:
Hlavičky se musejí posílat před jakýmkoli výstupem, ale pochybuji, že tohle je ten problém. |
||
juriad Profil |
quiced:
V php musíš odeslat hlavičku (header) před výpisem. <?php # zkontroluj, zda před tímto nemáš žádný bílý znak (mezeru, odřádkování, BOM) header('Content-Type: application/json'); # 1000 je číslo, proč ho zapisuješ jako řetězec? echo json_encode(array('splatka' => 1000, 'celkem' => 1000); # značka ? > konce není nutná |
||
quiced Profil |
#7 · Zasláno: 19. 1. 2014, 11:10:31
Tak já nevím upravil jsem to podle Vašich rad, ale výsledek žádný respektive to hodnotu z toho arraye nenačítá.
|
||
Taps Profil |
#8 · Zasláno: 19. 1. 2014, 11:39:15
quiced:
zkus dát odkaz na živou ukázku |
||
juriad Profil |
#9 · Zasláno: 19. 1. 2014, 11:39:27
quiced:
Zkus si dát breakpoint do success callbacku (v Tapsiho řešení řádek 11) a podívat se na hodnotu proměnné response. |
||
quiced Profil |
#10 · Zasláno: 19. 1. 2014, 11:44:24 · Upravil/a: quiced
juriad:
Můžeš mi prosím poradit jak napsat ten breakpoint, jak jsem psal jsem v jquery začátečník. Díky moc Taps: Zatím to mám na localhostu, ale hodím to live a pošlu odkaz. |
||
juriad Profil |
#11 · Zasláno: 19. 1. 2014, 12:12:16
quiced:
V prohlížeči dáš F12, přepneš se na kartu JavaScript, najdeš příslušnou řádku, vytvoříš breakpoint - místo, kde se má skript zastavit. Pak provedeš akci, která způsobí AJAXové volání a podíváš se na proměnné v místě, kde se ti skript zastavil. Nastuduj si, jak se používají vývojářské nástroje v tvém prohlížeči; bez toho prakticky nemůžeš vyvíjet web. http://jecas.cz/vyvojarske-nastroje |
||
quiced Profil |
#12 · Zasláno: 19. 1. 2014, 13:15:54
Pokud by byl někdo tam hodný a mrknul na to tak zde je celý slider: http://hypo.ipartak.cz/?page_id=2 a tento script to obsluhuje http://hypo.ipartak.cz/wp-content/themes/hypopujcka/js/lc-jquery.js
Kdyby někdo přišel na způsob jak to zprovozni byl bych mu moc vděčný. Díky za dosavadní nápovědu. |
||
DarkMeni Profil |
Jak vypadá soubor "vypocet.php", konkrétně 3. řádek a několik řádků na ním a pod ním?
Vypisuje totiž toto: Parse error: syntax error, unexpected ';' in /data/web/virtuals/48319/virtual/www/domains/hypo.ipartak.cz/wp-content/themes/hypopujcka/vypocet.php on line 3 U [#6] není na 3. řádku ukončovací závorka pro funkci json_encode , tak to bude nejspíš tím
|
||
quiced Profil |
#14 · Zasláno: 19. 1. 2014, 13:53:58 · Upravil/a: quiced
DarkMeni:
Máš pravdu zapomněl jsem tam závorku, tu jsem tam dodal. Ten php soubor již nevypisuje chybu, ale hodnoty, bohužel ten jqery script to stále nebere. Tak nakonec jsem se to celé rozhodl udělat trochu jinak, ale narazil jsem na menší problém. Nemohl by mi někdo poradit jak se v jquery vyhledávají hodnoty respektive mám takovéto pole: {prvni: "100", druhy: "200", treti: "300"} a potřebuju zobrazit a to divu načíst hodnutu prvni. Můžete mi prosím poradit pomocí, jaké funkce to udělám. Díky moc |
||
DarkMeni Profil |
Třeba
var objekt = {prvni: "100", druhy: "200", treti: "300"} var prvni = objekt.prvni; //nebo var prvni = objekt["prvni"]; for (var klic in objekt) { //Do proměnné "klíč" uloží název prvního prvku v objektu a zastaví cyklus break; } var prvni = objekt[klic]; A nebo nejjednodušší by bylo, kdyby si to měl v indexovaným poli var pole = ["100", "200", "300"]; var prvni = pole[0]; Jinak musí být ty čísla v řetězci? |
||
quiced Profil |
DarkMeni:
Díky za nápovědu již jsem to vyřešil sám následovně var valueFromSlider = "prvni"; //lc_jqpost_value je ten JSON objekt if(lc_jqpost_info[valueFromSlider] !== undefined) { document.getElementById("vypocet_splatka").innerHTML = lc_jqpost_info[valueFromSlider]; } Každopádně díky všem za všechny rady |
||
Časová prodleva: 10 let
|
0