Умножение input

repacksman

Участник
Регистрация
12 Июн 2012
Сообщения
154
Реакции
4
Нужно умножить ik_payment_amount_usd на kurs и результат записать в ik_payment_amount и #money-rub
Код:
  <input type="text"  name="ik_payment_amount_usd" value="2.00">
  <input type="hidden"  name="kurs" value="51">

  <input type="text"  name="ik_payment_amount" value="102.00">
  <div id="money-rub">102.00</div>
 
На jQuery:
HTML:
<input type="text" name="ik_payment_amount_usd" value="2.00" onchange="kurs()">
<input type="hidden" name="kurs" value="51">

<input type="text" name="ik_payment_amount" value="102.00">
<div id="money-rub">102.00</div>
<script type="text/javascript">
    function kurs(){
        var price = $('input[name="ik_payment_amount_usd"]').val();
        var kurs = $('input[name="kurs"]').val();
       
        $('#money-rub').html(price*kurs);
    }
</script>
 
На jQuery:
HTML:
<input type="text" name="ik_payment_amount_usd" value="2.00" onchange="kurs()">
<input type="hidden" name="kurs" value="51">

<input type="text" name="ik_payment_amount" value="102.00">
<div id="money-rub">102.00</div>
<script type="text/javascript">
    function kurs(){
        var price = $('input[name="ik_payment_amount_usd"]').val();
        var kurs = $('input[name="kurs"]').val();
      
        $('#money-rub').html(price*kurs);
    }
</script>
У меня не работает тот код что ви написали. Но подключен jQuery. И для input[name="ik_payment_amount"] тоже нужно сделать умножение. Проверял на jsfiddle там тоже не работает
 
Код:
<script type="text/javascript">
$(document).ready(function(){
$('input[name=ik_payment_amount_usd]').bind('change keyup input click', function() {

if (this.value.match(/\.(?=.*\.)|[^\d\.]/g)) { //вводим только цифры и одну точку
this.value = this.value.replace(/\.(?=.*\.)|[^\d\.]/g, '');
}

var rez = this.value*$('input[name=kurs]').val();
$('#money-rub').html(rez);
$('input[name=ik_payment_amount]').val(rez);
});
});
</script>
 
Последнее редактирование:
+1 предыдущему комментатору. Только с bind не нужен onchange="kurs()" в input-е

Ещё рекомендую блокировать ввод, чтобы можно было текст обвести, но не поменять, т.к. на него нету bind и может ввести пользователя в заблуждение.
Код:
<input ... readonly>
 
function foo(){
$('#money-rub').text($('input[name="ik_payment_amount_usd"]').val() * $('input[name="kurs"]').val());
}
 
Назад
Сверху