[英]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);
. 这是一个简化的解决方案(我已将事件从change
为input
,以确保输入响应更快。如果您更喜欢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.