
Originariamente inviata da
KillerWorm
Ciao, setValue non credo esista. Generalmente puoi usare la proprietà
value su elementi che hanno tale attributo con cui impostarne, appunto, il valore. L'elemento label non possiede questo attributo, ma il valore è inserito direttamente come testo html all'interno dell'elemento stesso. In questo caso dovrai usare la proprietà
innerHTML.
Una soluzione minimale può essere questa:
codice:
function seleziona(){
document.getElementById("risultato").innerHTML++;
}
Ad ogni click, il valore viene incrementato di 1 attraverso l'operatore ++.
Per limitare il valore a 3 puoi usare una cosa del genere:
codice:
function seleziona(){
var e = document.getElementById("risultato");
e.innerHTML = Math.min(3,+e.innerHTML+1);
}
In sostanza viene preso il valore minimo fra 3 e il valore corrente + 1.
Fai attenzione anche al + posto prima di
e.innerHTML. Questo equivale a scrivere
Number(e.innerHTML). Questo converte il valore da stringa testuale a numero per poter eseguire correttamente la somma.
Sul precedente esempio non c'è il problema perchè l'operatore ++ converte automaticamente il valore in numero.
Se ti serve azzerare il valore al quarto click, puoi usare l'operatore modulo (%) in questo modo:
codice:
function seleziona(){
var e = document.getElementById("risultato");
e.innerHTML = (+e.innerHTML+1)%4;
}