2015-03-15 5 views
0

Я пытаюсь добавить две переменные, но они конкатенации друг с другом вместо того, чтобы добавлятьКак добавить две переменные

var price = 10; 
$("#val").blur(function(){ 
    var get_val = $(this).val(); 
    var get_vale = price + get_val ; 
    alert("there are " + get_vale + " in your cart"); 
}); 

Как добавить эти переменные и не объединить их?

+0

ParseInt (get_val) – MaxZoom

+1

[Обязательный] (http://i.stack.imgur.com/ssRUr.gif) – JJJ

+1

Это чистое поведение javascript, не связанное с jquery –

ответ

5

Возможно, значение, которое вы получаете от $("#val"), представляет собой строку вместо int.

использование parseInt, выполните поиск Documentation

var price = 10; 
$("#val").blur(function(){ 
    var val = $(this).val(), 
     int_val = parseInt(val, 10), //ensure this is an Int 
     get_vale = price + int_val; 
alert("there are " + get_vale + " in your cart"); 
}); 

указано Radix является 10, как написано в документации:

Задание 10 для десятичной системы счисления обычно используются людьми

+0

Помните radix: 'parseInt ('0x15') == 21' – andlrc

1

для конкатенации переменных использовать знак «+» и использовать функцию ParseInt, чтобы получить числовое значение переменной, чтобы правильно делать математические функции

var get_val = parseInt($(this).val()); 
2

Вы пытаетесь Concat строку и номер. Раньше вы должны преобразовать строку в число. Существует несколько способов сделать это:

var get_val = +$(this).val(); 

или

var get_val = Number($(this).val()); 

или если вы хотите целое

var get_val = parseInt($(this).val()); 

иначе

var get_val = parseFloat($(this).val());