2016-07-23 82 views
0

在形式中,当rate(另一个文本输入)的值时,我要插入amount(文本输入)的值。将要插入的数值是速率和数量的乘积。数量值取自数据库。这里,rate的值将被用户插入。 插入金额后,该值不能更改。我怎样才能做到这一点?当另一个输入文本被赋予另一个值时,在输入文本中自动插入值

我曾尝试下面的代码,但结果显示为零每次:

查看

<div class="form-group"> 
    <label for="exampleInputPassword1">Rate</label> 
    <input type="text" class="form-control" name="rate" placeholder="Rate" required> 
</div> 
<div class="form-group"> 
    <label>Quantity</label> 
    <input type="text" class="form-control" name="quantity" placeholder="quantity" value="<?php echo $object['sheet']; ?> " required readonly> 
</div> 
<div class="form-group"> 
    <label for="exampleInputPassword2">Amount</label> 
    <?php 
    $sheet = $object['sheet']; 
    $rate = $this->input->post('rate'); 
    $amount = $sheet*$rate; 
    echo $amount; 
    } 
    ?> 
    <input type="text" class="form-control" name="amount" value="<?php echo $amount;?>" placeholder="Amount" required> 
</div> 
+0

我是否正确,你想改变输入金额的速度*数量的价值每当价格变化的价值? – Martijn

+0

是的,您正在写入并且在插入价值iof率时必须显示金额的值。 –

回答

1

您可以使用jQuery来做到这一点:

$(document).ready(function() { 
$('input[name="rate"]').on('change',function() { 
    var amount = $(this).val()*$('input[name="quantity"]').val(); 
    $('input[name="amount"]').val(amount); 
}) 
}); 

不要忘记包括jQuery API。 此外,不要忘记验证表单提交后的金额,因为用户可以轻松操纵输入的值。

+0

我可以在输入类型的“值”属性内写入此代码吗? –

+0

不,只需将它们放入中的

0

您可以使用此:

首先在顶部

// use correct path to jQuery file 
<script src="<?php echo base_url().'js/jquery.min.js'; ?>"></script> 

// Or just use this 
<script src="https://code.jquery.com/jquery-2.2.4.js"; ?>"></script> 

// after jQuery 
<script> 
$(document).ready(function() { 
    $('input[name="rate"]').on('change',function() { 
     var quantity = $('input[name="quantity"]').val(); 

     if (quantity) { 
       var amount = $(this).val() * quantity; 
       $('input[name="amount"]').val(amount); 
       $('input[name="amount"]').prop('readonly', true); 
     } 
    }) 
}); 
</script> 
0

使用JavaScript添加的jQuery进行计算。

我修改了您的代码以满足您的需求。您只需要从数据库动态设置费率值。这里是你的代码:

<div class="form-group"> 
    <label for="exampleInputPassword1">Rate</label> 
    <input type="text" class="form-control" name="rate" placeholder="Enter Rate" id="rate" required> 
</div> 
<div class="form-group"> 
    <label>Quantity</label> 
    <input type="text" class="form-control" name="quantity" placeholder="quantity" value="2" id="qnty" required readonly> 
</div> 
<div class="form-group"> 
    <label for="exampleInputPassword2">Amount</label> 
    <input type="text" class="form-control" name="amount" value="" id="amt" placeholder="Amount" required> 
</div> 
<script src="https://code.jquery.com/jquery-3.1.0.js" integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk=" crossorigin="anonymous"></script> 
<script> 
    $('#rate').keyup(function(){ 
    var rate = parseInt($('#rate').val()); 
    var qnty = parseInt($('#qnty').val()); 
    var amt = parseInt(rate*qnty); 
    if(isNaN(amt)){ 
     $('#amt').val('Enter valid rate'); 
    } else { 
     $('#amt').val(amt); 
    } 

    }); 

</script> 
相关问题