| 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: 12 let
|
|||
0