如何解决将数据库值与用户输入相乘
我有一种形式,可以从数据库中回显出数据,包括三组美元。我也有一个数字输入框,供用户输入年份。我试图将美元金额乘以用户投入的年数。我尝试创建函数,但无法使其正常工作。有什么建议?谢谢
带有onchange事件的用户输入,以及从数据库中回显的美元金额列表。 (getMoneyValue是用于格式化美元的函数)。
<dt>Number of Prorated Years:</dt>
<dd><input type="number" class='form-control' id="proratedYears" name="proratedYears" onchange="multiplyCosts()" min="0" max="20"/></dd>
<dl>
<dt>Direct Costs</dt>
<dd><?php echo $functions->getMoneyValue($recordInfo['directCost']);?></dd>
<dt>Indirect Costs</dt>
<dd><?php echo $functions->getMoneyValue($recordInfo['indirectCost']);?></dd>
<dt>Total Cost</dt>
<dd><?php echo $functions->getMoneyValue($recordInfo['totalCost']);?></dd>
</dl>
就我所掌握的onchange函数而言。我真的迷失了如何起诉。
function multiplyCosts() {
var proYears = document.getElementById("proratedYears").value;
var adjDirectMulti = ($recordInfo['directCost']);
var multiTotal = proYears * adjDirectMulti;
}
解决方法
只需将id
赋予<dd>
标记即可获取directCost
的值,然后使用.value
设置文本框的值以显示总计。
演示代码 :
function multiplyCosts() {
var proYears = document.getElementById("proratedYears").value;
var adjDirectMulti = document.getElementById("directCost").textContent;//get value
var multiTotal = proYears * adjDirectMulti;
console.log(multiTotal)
document.getElementById("totals").value = multiTotal //set value of textbox
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<dt>Number of Prorated Years:</dt>
<dd><input type="number" class='form-control' id="proratedYears" name="proratedYears" onchange="multiplyCosts()" min="0" max="20" /></dd>
<dl>
<dt>Direct Costs</dt>
<!--give id-->
<dd id="directCost">
121
</dd>
<dt>Indirect Costs</dt>
<dd>
25
</dd>
<dt>Total Cost</dt>
<dd>
145
</dd>
</dl>
<!--give id-->
<input type="text" readonly id="totals">
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。