2016-07-23 220 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> 
相關問題