2012-03-22 1 views
0

У меня есть простой входной контроль:

<input type="text" min="0" max="100" value="0"> 

тогда я сделать сумму: Compute

var a=10; 
console.log(a+$('input').val()); 

однако результат является '100', а не '10' ?!

Почему? Как я могу получить правильный ответ?

ответ

1

Проблема заключается в том, что $('input').val() является строкой, поэтому a преобразуется в строку, а + объединяет их. Попробуйте:

a + Number($('input').val()) 

Это преобразует значение текстового поля в ряд, что позволяет + быть оператор сложения.

+0

нет, он не работает, я даже попробовал parseInt() – hh54188

+0

try 'Number()' ... case имеет значение в js. – bdares

+0

@bdares - да, моя ошибка. Спасибо за уловку –