Подсчет суммы
Как подсчитать сумму при вводе в один 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 сумма должна меняться. |
Может нужно три поля?
<!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> |
можно и с двумя сделать, то тогда начальное значение второго поля нужно будет хранить например в data. если в value хранить сумма будет постоянно увеличиваться
|
<!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> |
Часовой пояс GMT +3, время: 05:08. |