Autor | Zpráva | ||
---|---|---|---|
unlucky Profil |
Našel jsem pár řešení na googlu, ale bohužel mi nevyhovují. Obrátil jsem se proto na vás.
Hodnoty mám uložené v sessionu. $_SESSION['product'][$i] $_SESSION['price'][$i] není tam množství, standardní je 1. Množství si zákazník vybere až v košíku. Situace je taková, jsem v košíku a chci zobrazit celkovou sumu za zboží (libovolný počet - systém generuje inputy s produkty, ceny s hodnotami readonly. Jenom množství lze měnit - default 1). <input type='text' value='$pr' readonly='readonly' name='itm[]'> <input type='text' value='1' name='qty[]'> <input type='text' readonly='readonly' value='$price €' name='pri'/> Chci, aby se zobrazila cena + kdykoli došlo ke změně množství u jakéhokoli zboží. Tu počáteční cenu bych zobrazil v php. Změnu pak přepsat v js |
||
juriad Profil |
A otázka je jaká? Která část z toho, co jsi popsal ti nejde či není jasná?
Pokud je množství input type="text", tak na něj navěš onKeyPress. Pokud je nový obsah inputu číslo, tak jím vynásob cenu produktu a aktualizuj celkovou cenu. |
||
unlucky Profil |
#3 · Zasláno: 29. 7. 2013, 18:43:14
jak získat data z inputu, když neznám celkové množství inputů
|
||
_es Profil |
#4 · Zasláno: 30. 7. 2013, 09:19:54
unlucky:
„když neznám celkové množství inputů“ A to je taký problém ten počet zistiť? |
||
pako Profil * |
#5 · Zasláno: 30. 7. 2013, 11:21:52
document.getElementsByTagName('input') elements v ktorom su vsetky prvy formulara
obsluhu udalosti keyup zavesis na formular a sledujes target udalosti, mnozstvo si prevedies na cislo, vynasobis a vlozis do spravneho inputu cez previousSibling
|
||
unlucky Profil |
#6 · Zasláno: 31. 7. 2013, 13:06:16
Mám toto, ale nefunguje :P
<script type="text/javascript"> $('#cart').change(function(){ var price=0; var quantity=0; var total=0; var nr =document.getElementsByName("number")[0].value; for (var i=0;i<nr;i++){ price= document.getElementsByName("pri")[i].value; quantity= document.getElementsByName("qty")[i].value; total+=price*quantity; } document.getElementById("totalprice").innerHTML = total; } </script> <form id='cart'> <input type='text' name='qty[]' value ='2'/> <input type='text' name='pri[]' value ='4'/> ... <input type='text' name='qty[]' value ='2'/> <input type='text' name='pri[]' value ='4'/> <input type='hidden' name='number' value='5' /> <span id='totalprice'><span> </form> |
||
Chamurappi Profil |
#7 · Zasláno: 31. 7. 2013, 13:36:24
Reaguji na unluckyho:
„ document.getElementsByName("pri")[>i].value; “
Jméno toho políčka není pri , ale pri[] . Hranaté závorky tam z hlediska prohlížeče nemají žádný význam, ten jim dává až něco na straně serveru.
Proč prohledáváš celý document ? Metodu getElementsByName vůbec nepotřebuješ, kolekce prvků s name="pri[]" je ve tvém případě v this["pri[]"] . Můžeš samozřejmě zjistit i její length .
|
||
unlucky Profil |
#8 · Zasláno: 31. 7. 2013, 14:32:20
zkusil jsem i s hranatými závorkami, ale nefungujou. Jak toto zprovoznit?
|
||
Chamurappi Profil |
Reaguji na unluckyho:
Nejprve musíš najít chybu v tom, co děláš. Jakmile ji najdeš, tak ji opravíš… a bude to zprovozněné. Skript v příspěvku #6 nebude fungovat asi i z toho důvodu, že při spuštění skriptu není ve stránce žádný element s id="cart" .
|
||
unlucky Profil |
#10 · Zasláno: 31. 7. 2013, 14:55:08
je tam form id="cart"?
|
||
Chamurappi Profil |
#11 · Zasláno: 31. 7. 2013, 15:07:42
Reaguji na unluckyho:
Není. Skript se vykonává v okamžiku, kdy se načte, a v tu chvíli nic, co je za ním, ve stránce není. |
||
unlucky Profil |
#12 · Zasláno: 31. 7. 2013, 15:33:52
Chamurappi:
takže umístit za formulářem? Také nejde. CO teď |
||
Chamurappi Profil |
#13 · Zasláno: 31. 7. 2013, 16:25:24
Reaguji na unluckyho:
Teď to vzdám. Ve svých radách chybu nevidím a těžko uhodnu, co sis kde jak pokazil. |
||
unlucky Profil |
#14 · Zasláno: 1. 8. 2013, 00:08:14
uz jsem na to prisel.
chybela zavorka a strednik |
||
Časová prodleva: 10 let
|
0