Quoto, il parseInt funziona. Probabile che il problema sta nel tuo selettore jquery.
Aggiungo.. i mtodi indicati convertono automaticamente il valore stringa in numero (non in numero intero).:
codice:
var numero = stringa*1;
var numero = +stringa;
Teoricamente puoi utilizzare anche la funzione Number().
Giusto per fare gazzosa, ecco un esempio al volo che mostra le differenze di una somma tra stringhe, numeri o interi (posto le due varianti javascrtipt e jquery):
codice:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function calcola() {
var campo1 = document.getElementById("campo1").value;
var campo2 = document.getElementById("campo2").value;
var risStr = document.getElementById("risultatoStringa");
var risNum = document.getElementById("risultatoNumero");
var risInt = document.getElementById("risultatoIntero");
risStr.value = campo1+campo2; // concateno le semplici stringhe
risNum.value = Number(campo1)+Number(campo2); // sommo i valori convertiti in numeri (comprese le parti decimali)
risInt.value = parseInt(campo1)+parseInt(campo2); // sommo i valori convertiti in numeri intero
}
</script>
</head>
<body>
<form method="get" action="#" onsubmit="calcola(); return false">
<input type="input" id="campo1" value="Inserisci qualcosa qui"/> Campo1 +
<input type="input" id="campo2" value="qualcos'altro qui"/> Campo2 =<hr>
<input type="input" id="risultatoStringa" value=""/> Operazione con Stringhe : <code>campo1+campo2</code>
<input type="input" id="risultatoNumero" value=""/> Operazione con Numeri : <code>Number(campo1)+Number(campo2)</code>
<input type="input" id="risultatoIntero" value=""/> Operazione con Interi : <code>parseInt(campo1)+parseInt(campo2)</code>
<input type="submit" name="Submit" value="CALCOLA" />
</form>
</body>
</html>
codice:
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("form").submit(function(){
var campo1 = $("#campo1").val();
var campo2 = $("#campo2").val();
var risStr = $("#risultatoStringa");
var risNum = $("#risultatoNumero");
var risInt = $("#risultatoIntero");
risStr.val(campo1+campo2); // concateno le semplici stringhe
risNum.val(Number(campo1)+Number(campo2)); // sommo i valori convertiti in numeri (comprese le parti decimali)
risInt.val(parseInt(campo1)+parseInt(campo2)); // sommo i valori convertiti in numeri intero
return false;
});
});
</script>
</head>
<body>
<form method="get" action="#">
<input type="input" id="campo1" value="Inserisci qualcosa qui"/> Campo1 +
<input type="input" id="campo2" value="qualcos'altro qui"/> Campo2 =<hr>
<input type="input" id="risultatoStringa" value=""/> Operazione con Stringhe : <code>campo1+campo2</code>
<input type="input" id="risultatoNumero" value=""/> Operazione con Numeri : <code>Number(campo1)+Number(campo2)</code>
<input type="input" id="risultatoIntero" value=""/> Operazione con Interi : <code>parseInt(campo1)+parseInt(campo2)</code>
<input type="submit" name="Submit" value="CALCOLA" />
</form>
</body>
</html>