繁体   English   中英

如何使用 jquery 设置输入值?

[英]How to set an input value with jquery?

我有这个代码,我想当输入字段#amount 被添加时,jquery 将获得该值,将其乘以 0.20 并将该值添加到#agentfee。 #agentfee 的值将用于使用 php 代码在 sql 表中插入值。 我不知道为什么我的代码不起作用

HTML
<label for="amount">Rent Amount</label>
    <input type="number" id="amount" name="amount" placeholder="500,000">
<label for="agentfee">Agent fee N</label>
    <input type="Number" id="agentfee" name="agentfee" value="" readonly><br>


JS
$('#amount').change(function() { 
    
    var inputValue = $("#amount").val();
    agentFee = inputValue * 0.20;
    $('#agentfee').val=('agentFee');
});

正如@Calvin 已经指出的那样,您需要更改$('#agentfee').val()行:

 $('#amount').on("input",function() { var inputValue = $("#amount").val(); agentFee = inputValue * 0.20; $('#agentfee').val(agentFee.toFixed(2)); });
 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <label for="amount">Rent Amount</label> <input type="number" id="amount" name="amount" placeholder="500,000"> <label for="agentfee">Agent fee N</label> <input type="Number" id="agentfee" name="agentfee" value="" readonly><br>

您不需要 agentFee 周围的刻度或等号。 它应该是

$('#agentfee').val(agentFee);

试试这个: $('#amount').change(function() {

var inputValue = $("#amount").val();
agentFee = inputValue * 0.20;
$('#agentfee').val('agentFee');
});

我希望它有用

您的

$('#agentfee').val=('agentFee');

用 agentFee 的文本覆盖$('#agentfee')val agentFee 相反,您想调用val并传递一个值,例如$('#agentfee').val(yourvalue); . 这是一个简化的解决方案(我已将事件从changeinput ,以确保输入响应更快。如果您更喜欢change事件,请告诉我)

 $('#amount').on('input', function() { $('#agentfee').val($("#amount").val() * 0.20); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label for="amount">Rent Amount</label> <input type="number" id="amount" name="amount" placeholder="500,000"> <label for="agentfee">Agent fee N</label> <input type="Number" id="agentfee" name="agentfee" value="" readonly><br>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM