我试图在加载页面上激活一个函数,这个函数是在"输入#quantity"中得到一个数值。并计算" input.final-price"在页面上加载激活函数currentPrice。但是页面加载时页面加载不会更新字段。
function currentPrice() {
var priceProduct = parseFloat($.trim($('span.price').html().replace(",", "").replace("$", "")));
var convertion = ((priceProduct)/100).toFixed(2);
var price = parseFloat($("input#quantity").val());
var total = ((convertion) * (price)).toFixed(2);
$("input.final-price").val(total);
}
// Onload
$(document).on("load", "input", currentPrice);

答案 0 :(得分:1)
您应该等到文档加载然后运行您的功能
$(function(){
currentPrice();
});
以上是$(document).ready()
的简写答案 1 :(得分:0)
我对你的标记做了一些假设(见下面的演示);请注意,.final-price
引用现在是一个ID(#final-price
)而不是一个类(因为这会使关联的<label>
更容易绑定)。
我还假设您希望最终价格(只读)在输入新数量时保持更新。
function currentPrice() {
var priceProduct = parseFloat($.trim($('span.price').html().replace(",", "").replace("$", "")));
var convertion = ((priceProduct) / 100).toFixed(2);
var price = parseFloat($("#quantity").val());
var total = ((convertion) * (price)).toFixed(2);
$("#final-price").val(total);
}
$(function() {
// initialise final figure
currentPrice();
// ensure total is updated each time quantity is changed
$("#quantity").on("keyup", currentPrice);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span class="price">$38,000</span>
<label for="quantity">Quantity</label>
<input id="quantity" value="5" />
<label for="final-price">Final</label>
<input id="final-price" readonly />