Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.09.2017, 21:15
Аспирант
Отправить личное сообщение для Fiks Посмотреть профиль Найти все сообщения от Fiks
 
Регистрация: 03.09.2016
Сообщений: 37

Подсчет суммы
Как подсчитать сумму при вводе в один input, результат во-втором, если уже во-втором есть значение.

$('#SpeedometerOut').keyup(function (e) {
        if( e.keyCode !== 8 && e.keyCode !== 46 ) {
                         var formula = parseFloat($('#SpeedometerOut').val()) + parseFloat($('#SpeedometerReturn').val());
                $('#SpeedometerReturn').val(formula);
        } else {
            if( $('#SpeedometerOut').val() ) {
                formula =  parseFloat($('#SpeedometerReturn').val()) - parseFloat($('#SpeedometerOut').val());
                $('#SpeedometerReturn').val(formula);
            }
        }
    });


То есть на выходе получается:
По умолчанию значение(value) #id1=0, а #id2=10
<input value='1' id='id1'> and <input value='10' id='id2'>
И в конце должно получиться в #id2 = 11
Но так же, если я стираю числа в id1, то в id2 сумма должна меняться.

Последний раз редактировалось Fiks, 28.09.2017 в 21:22.
Ответить с цитированием
  #2 (permalink)  
Старый 28.09.2017, 21:29
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Может нужно три поля?
<!DOCTYPE html>
<html lang="en">
<head>
<style>
	input{
		width: 30px;
	}
</style>
</head>
<body>
	<input type="text">+<input type="text">=<input type="text">
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
		$('input').keyup(function(){
			$('input').eq(2).val($('input').eq(0).val()*1+$('input').eq(1).val()*1);
		});
	</script>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 28.09.2017, 21:30
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

можно и с двумя сделать, то тогда начальное значение второго поля нужно будет хранить например в data. если в value хранить сумма будет постоянно увеличиваться
Ответить с цитированием
  #4 (permalink)  
Старый 28.09.2017, 21:33
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!DOCTYPE html>
<html lang="en">
<head>
<style>
	input{
		width: 30px;
	}
</style>
</head>
<body>
	<input type="text" value="0"><input type="text" data-val="10" value="10">
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script>
		$('input').keyup(function(){
			$('input').eq(1).val($('input').eq(0).val()*1+$('input').eq(1).attr('data-val')*1);
		});
	</script>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет общей суммы на 3 и более ингредиента EviLex Javascript под браузер 13 29.12.2014 11:53
Подсчет суммы значений в импутах по id элементов qux Общие вопросы Javascript 5 10.12.2014 15:15
Подсчет суммы ewfes Javascript под браузер 6 12.05.2014 09:44
Подсчет суммы чисел при отметке чекбоксов Garik Элементы интерфейса 11 27.07.2013 21:47
Подсчет оценок asdasdasd Общие вопросы Javascript 6 06.10.2010 21:18