|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jun 2008
Messaggi: 159
|
[Javascript] Aggiungere o sottrarre un valore ad un innerHTML
ho un campo div in cui c'è un prezzo in euro.
L'utente selezionando dei checkbox va ad aggiungere un tot di euro al prezzo finale. Il prezzo viene aggiornato il real time, quindi al prezzo nel div devo aggiungere il prezzo della checkbox. Ho provato con += ma mi considera le variabili come stringhe e quindi le concatena. <span id="total_price"></span> function add(priceSupp, checkbox){ if (checkbox.checked) { document.getElementById("total_price").innerHTML += formatCurrency(priceSupp); } if (checkbox.checked === false) { document.getElementById("total_price").innerHTML -= formatCurrency(priceSupp); } } |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
Codice:
if (checkbox.checked) {
var tmp = document.getElementById("total_price").innerHTML;
var res = eval(tmp)+formatCurrency(priceSupp);
document.getElementById("total_price").innerHTML = res;
}
etc.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
Mai usare eval se non è strettamente necessario, e in questo caso non è assolutamente necessario, probabilmente non ti troverai mai costretto ad usare eval.
Puoi mantenere una variabile(numerica) che contenga il totale, e il prezzo della checkbox lo converti in int con parseInt(stringa,10). |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Jun 2008
Messaggi: 159
|
Quote:
Es. se devo aggiungere 323. mi scrive 0323 |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Dec 2002
Messaggi: 3359
|
|
|
|
|
|
|
#7 | ||
|
Senior Member
Iscritto dal: Aug 1999
Città: Como
Messaggi: 1495
|
Quote:
Quote:
Se sei sicuro che l'innerHtml sia sempre numerico fai la somma parsandoInt l'innerhtml e il valore della checkbox. |
||
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 20:52.




















