Умножение input

Тема в разделе "JavaScript", создана пользователем repacksman, 14 апр 2015.

Модераторы: ZiX
  1. repacksman

    repacksman

    Регистр.:
    12 июн 2012
    Сообщения:
    154
    Симпатии:
    2
    Нужно умножить 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>
    
     
  2. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    380
    Симпатии:
    236
    На 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>
     
    repacksman нравится это.
  3. repacksman

    repacksman

    Регистр.:
    12 июн 2012
    Сообщения:
    154
    Симпатии:
    2
    У меня не работает тот код что ви написали. Но подключен jQuery. И для input[name="ik_payment_amount"] тоже нужно сделать умножение. Проверял на jsfiddle там тоже не работает
     
  4. Absolute

    Absolute Крокодил ;)

    Регистр.:
    9 авг 2009
    Сообщения:
    364
    Симпатии:
    182
    Код:
    <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>
     
    Последнее редактирование: 14 апр 2015
  5. brovalex

    brovalex Писатель

    Регистр.:
    20 янв 2013
    Сообщения:
    9
    Симпатии:
    1
    +1 предыдущему комментатору. Только с bind не нужен onchange="kurs()" в input-е

    Ещё рекомендую блокировать ввод, чтобы можно было текст обвести, но не поменять, т.к. на него нету bind и может ввести пользователя в заблуждение.
    Код:
    <input ... readonly>
     
  6. shadera

    shadera Писатель

    Регистр.:
    24 мар 2015
    Сообщения:
    9
    Симпатии:
    1
    function foo(){
    $('#money-rub').text($('input[name="ik_payment_amount_usd"]').val() * $('input[name="kurs"]').val());
    }