Я не могу понять, почему вычитание работает в моем коде, но когда я меняю знак вычитания на знак добавления, я получаю консольную ошибку: TypeError: undefined не является функцией. Где ошибка?Вычитание, работающее в JS, но добавление не работает в JS
Вот скрипка с вычитанием: http://jsfiddle.net/c8q7p6ac/ Вот скрипка с добавлением вместо вычитания знака: http://jsfiddle.net/c8q7p6ac/1/
вычитания знака и знак сложения в переменной updatedNumber
HTML :
<div class="amount">$1000.00</div>
<input class="new-number" type="text">
<div class="button">Click</div>
JQuery:
$('.button').on('click', function(){
//get value of input
var newNumber = $('.new-number').val();
//get total number value
var totalNumber = $('.amount').text();
var getNumberOnly = totalNumber.indexOf('$') + 1;
var newTotalNumb = totalNumber.substr(getNumberOnly, totalNumber.length);
//add new number to total number
var updatedNumber = (newTotalNumb + newNumber).toFixed(2);
//and update total
$('.amount').html('$'+updatedNumber);
});
Вам необходимо преобразовать число из строки в целое число, прежде чем вы сможете добавить к нему. – naomik
Это имеет смысл, но почему это будет вычитаться без необходимости преобразовывать число из строки в целое число? – Chipe
это связано с тем, как javascript обрабатывает '-' и' + 'при использовании их на смешанных типах. @Mrchief объясняет более подробно. – naomik