login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[JS]Optellen (Opgelost)

Offline valles10 - 09/04/2010 16:30 (laatste wijziging 09/04/2010 16:31)
Avatar van valles10HTML interesse ik ben bezig met een winkelkarretje. Nu ben ik bezig aan het js gedeelte, waar mensen hun aantallen kunnen verhogen/verkleinen. Dat verloopt allemaal goed behalve tijdens het optellen van de oude waarde met de nieuwe (+1) loop het fout... i.p.v 7+1 = 8 laat hij 71 zien. Alsof 7 en 1 GEEN numerieke waardes zijn... mijn code:
  1. function changeAmnt(id, amnt){
  2. var old = document.getElementById(id).value;
  3. document.getElementById(id).value = old + amnt;
  4. }


  1. <?
  2. while($res = mysql_fetch_object($query)){
  3. echo "<tr>";
  4. echo "<td>$res->artikel</td>";
  5. echo "<td>&euro;$res->prijs</td>";
  6. echo "<td>
  7. <input name=\"aantal$res->id\" id=\"aantal$res->id\" value=\"$res->aantal\" type=\"text\" size=\"3\" maxlength=\"3\" /><a href=\"#\" onclick=\"changeAmnt('aantal$res->id', '1');\">[+]</a><a href=\"#\" onclick=\"changeAmnt('aantal$res->id', '-1');\">[-]</a></td>";
  8. echo "<td id=\"$res->id\"><script>calculatePrice('$res->prijs', '$res->aantal', 'none');</script></td>";
  9. echo "</tr>";
  10. }
  11. ?>

Wat doe ik (of is er verkeerd) aan de code hierboven... En weet iemand oplossing?

Alvast bedankt voor de moeite! Sam

3 antwoorden

Gesponsorde links
Offline Martijn - 09/04/2010 16:32 (laatste wijziging 09/04/2010 16:33)
Avatar van Martijn Crew PHP JS ziet het als een string (tekst dus). Je moet even ParseInt(old) doen


edit: Als je in JS een zooi dingen optelt waarvan er 1 een string is, zal ie de rest toevoegen als een string. Er hoeft er dus maar 1 string te zijn.
Bedankt door: valles10
Offline valles10 - 09/04/2010 16:36
Avatar van valles10 HTML interesse
Martijn schreef:
JS ziet het als een string (tekst dus). Je moet even ParseInt(old) doen


edit: Als je in JS een zooi dingen optelt waarvan er 1 een string is, zal ie de rest toevoegen als een string. Er hoeft er dus maar 1 string te zijn.

idd, dit werkt. Ik heb op google ook al zitten zoeken naar zoiets als dit, maar kon functie niet vinden. Thnx!

Oplossing:
  1. function changeAmnt(id, amnt){
  2. var old = document.getElementById(id).value;
  3. document.getElementById(id).value = parseInt(old)+parseInt(amnt);
  4. }
Offline Martijn - 09/04/2010 16:38
Avatar van Martijn Crew PHP amnt hoeft dus weer niet als parseInt omdat (als het goed is) je die als getal in je function geeft

  1. changeAmnt('idVanDing',10); // 10 is hier al een Int, dus hoeft niet mer parseInt
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.245s