Ho una funzione che in base a 2 numeri inseriti (peso ed altezza) mi calcola l'indice di massa corporea e me lo mette nella variabile risultato.
in base al valore contenuto in risultato vado a checkare i flag relativi all'intervallo di riferimento (ossia <19, tra 19 e 21,tra 21 e 23, >23).
e fin qui tutto funziona utilizzando sia la proprietà .attr che .prop del check.
Quando però vado a testare tramite un altro pulsante lo stato del check sembra che non lo riconosca come checkato anche se sulla maschera lo è.
Utilizzo la funzione if($('#valore').prop('checked')) (per ogni check interessato.
Questa funzione funziona se il check lo metto a mano ma no se lo passo da codice come sopra.
La cosa strana è che se io rifaccio click sul check già checkato in maschera allora if($('#valore').prop('checked')) funziona.
E' come se il check ci sia solo in visualizzazione ma non come valore.
idee?
Grazie a tutti
Questo è il codice:
$('#testo10888').trigger('onfocus');
v1=Number($('#testo10752').val())
v2=Number($('#testo10753').val())
risultato = 0
tot = 0
risultato=v1/((v2/100)*(v2/100))}
risultato = Number(risultato);
if (risultato < 19)
{tot=0
$('#cklW10778').removeAttr('checked')
$('#cklW10779').removeAttr('checked')
$('#cklW10780').removeAttr('checked')
$('#cklW10777').attr('checked', true);}
else if (risultato < 21)
{tot=1
$('#cklW10777').removeAttr('checked')
$('#cklW10779').removeAttr('checked')
$('#cklW10780').removeAttr('checked')
$('#cklW10778').attr('checked', true);}
else if (risultato < 23)
{tot=2
$('#cklW10778').removeAttr('checked')
$('#cklW10777').removeAttr('checked')
$('#cklW10780').removeAttr('checked')
$('#cklW10779').attr('checked', true);}
else if (risultato >= 23)
{tot=3
$('#cklW10778').removeAttr('checked')
$('#cklW10779').removeAttr('checked')
$('#cklW10777').removeAttr('checked')
$('#cklW10780').attr('checked', true);}
tot = Number(tot);
$('#testo10754').val(tot);
//punteggio totale
$('#testo10888').val(risultato);
$('#testo10888').trigger('onfocus');
$('#testo10888').attr('readonly', 'true');
}
Function Calcolatotale()
{
if($('#cklW10777').prop('checked')){
risultato = Number(risultato);
risultato += Number($('#testo10777').val());
}
if($('#cklW10778').prop('checked')){
risultato = Number(risultato);
risultato += Number($('#testo10778').val());
}
if($('#cklW10779').prop('checked')){
risultato = Number(risultato);
risultato += Number($('#testo10779').val());
}
if($('#cklW10780').prop('checked')){
risultato = Number(risultato);
risultato += Number($('#testo10780').val());
}
//punteggio totale$('#testo10887').val(risultato);
$('#testo10887').trigger('onfocus');
$('#testo10887').attr('readonly', 'true');
}