2012-01-27 25 views
6

He utilizado el siguiente código para agregar tres variables, pero en lugar de agregar estas variables, concatena estas variables.jQuery sumando variables

var registration_fee = $('input[type="radio"][name="registration_fee"]:checked').val(); 
var material_fee = $('input[type="radio"][name="material_fee"]:checked').val(); 
var tuition_fee = $('input[type="radio"][name="tuition_fee"]:checked').val(); 
// alert(tuition_fee) 
var total_fee = registration_fee + material_fee + tuition_fee; 
$('#total_fee').html(total_fee); 

Respuesta

13

las arrojó sobre números usando parseInt o parseFloat:

var total_fee = parseInt(registration_fee) + parseInt(material_fee) + parseInt(tuition_fee); 
+0

pero si he utilizado, val() cuál es la necesidad de analizar lo que? –

+0

Entendido ... –

+0

O si quiere algo más compacto, siempre puede usar el operador unario plus. Te sugiero que hagas la conversión de cadena a número en el momento en que estableces los valores de la variable, así: 'var tuition_fee = + $ (' input [type = "radio"] [name = "tuition_fee"]: checked ') .val(); '(etc.) - tenga en cuenta el '+' antes de '$'. – nnnnnn

2

Probar:

 

var total_fee = parseInt(registration_fee, 10) + parseInt(material_fee, 10) + parseInt(tuition_fee, 10); 
 

O parseFloat, lo que se adapte a

1

Uso parseInt para convertir la cadena a int, o parseFloat para flotar.

2

Trate

las arrojó sobre números utilizando Número

tal_fee = Número (registration_fee) + Número (material_fee) + Número (tuition_fee);

0

intenta utilizar parseInt(price) + parseInt(ticket_buyer_fee) para las variables funciona