Javascript 获取增量输入微调器+&;-更新标签文本字段的步骤
我的javascript不是最好的。我这里有一些计算器形式的代码: 我的javascript:Javascript 获取增量输入微调器+&;-更新标签文本字段的步骤,javascript,jquery,input,label,Javascript,Jquery,Input,Label,我的javascript不是最好的。我这里有一些计算器形式的代码: 我的javascript: // Get a list of your products and pop them into a dropdownlist function GetProducts() { var products = V12.getFinanceProducts(); var ddlProducts = document.getElementBy
// Get a list of your products and pop them into a dropdownlist
function GetProducts() {
var products = V12.getFinanceProducts();
var ddlProducts = document.getElementById('productsList');
for (var i = 0; i < products.length; i++) {
var newItem = new Option(products[i].name, products[i].productId);
ddlProducts.appendChild(newItem);
}
}
// Get details of repayments for the product selected
function CalculateRepayments() {
var productId = $('#productsList').val(); // selected product
var financeProduct = V12.getFinanceProduct(productId); // get the object
var cashPrice = $('#cashPrice').val();
var depositFactor = $('#deposit').val();
var deposit = cashPrice * (depositFactor / 100);
var payments = V12.calculate(financeProduct, cashPrice, deposit);
PopulateDescription(payments);
}
function UpdateLoanInfo() {
$('#cashPrice').val($('#cpRange').val());
$('#deposit').val($('#depRange').val());
CalculateRepayments();
}
// Show repayment plan details in the description
function PopulateDescription(payments) {
$('#lblFinalPayment').html('');
$('#lblDeposit').html('£' + payments.deposit);
$('#lblInitPayments').html('£' + payments.initialPayments);
$('#lblTotalRepayable').html('£' + payments.amountPayable);
$('#lblInterest').html(payments.apr + '%');
if (payments.initialPayments != payments.finalPayment && payments.finalPayment > 0) {
$('#lblMonths').html(payments.months - 1);
$('#lblFinalPayment').html(' and a final payment of £' + payments.finalPayment);
} else {
$('#lblMonths').html(payments.months);
}
}
// Firing this will loop through your V12 products and grab the product with the lowest
// possible monthly payments.
function GetLowestMonthlyPayments() {
var products = V12.getFinanceProducts();
var lowestMonthlyPayment = 0;
var lowestMonthlyPaymentProductId = 0;
for (var i = 0; i < products.length - 1; i++) {
var product = V12.getFinanceProduct(products[i].productId);
var cashPrice = $('#cashPrice').val();
var depositFactor = $('#deposit').val();
var deposit = cashPrice * (depositFactor / 100);
var payments = V12.calculate(product, cashPrice, deposit);
var monthlyPayment = payments.initialPayments;
if (parseFloat(lowestMonthlyPayment) > parseFloat(monthlyPayment) || lowestMonthlyPayment == 0) {
lowestMonthlyPayment = payments.initialPayments;
lowestMonthlyPaymentProductId = product.productId;
}
}
$("#productsList").val(lowestMonthlyPaymentProductId);
CalculateRepayments();
}
// Ready up our events
(function ($) {
GetProducts();
CalculateRepayments();
$('#productsList').on('change', function () {
CalculateRepayments();
});
$('#cpRange, #depRange').on("input", function () {
UpdateLoanInfo();
});
$('#lowestMonthlyPayments').click(function () {
GetLowestMonthlyPayments();
});
$('#cashPrice, #deposit').keyup(function () {
var cp = $('#cashPrice').val();
var dep = $('#deposit').val();
$('#cpRange').val(cp);
$('#depRange').val(dep);
CalculateRepayments();
});
//spinner//
$('<div class="quantity-nav"><div class="quantity-button quantity-up">+</div><div class="quantity-button quantity-down">-</div></div>').insertAfter('.quantity input');
$('.quantity').each(function() {
var spinner = jQuery(this),
input = spinner.find('input[type="number"]'),
btnUp = spinner.find('.quantity-up'),
btnDown = spinner.find('.quantity-down'),
min = input.attr('min'),
max = input.attr('max');
btnUp.click(function() {
var oldValue = parseFloat(input.val());
if (oldValue >= max) {
var newVal = oldValue;
} else {
var newVal = oldValue + 100;
}
spinner.find("input").val(newVal);
spinner.find("#cpRange").val(cp);
spinner.find("#depRange").val(dep);
spinner.find("input, #cashPrice").trigger("change");
});
btnDown.click(function() {
var oldValue = parseFloat(input.val());
if (oldValue <= min) {
var newVal = oldValue;
} else {
var newVal = oldValue - 100;
}
spinner.find("input").val(newVal);
spinner.find("input").trigger("change");
});
});
})(jQuery);
//获取产品列表并将其弹出到下拉列表中
函数GetProducts(){
var products=V12.getFinanceProducts();
var ddlProducts=document.getElementById('productsList');
对于(变量i=0;i0){
$('lblMonths').html(payments.months-1);
$(#lblFinalPayment').html('和‘+payments.finalPayment的最终付款);
}否则{
$('lblMonths').html(payments.months);
}
}
//触发此命令将循环您的V12产品,并获取具有最低成本的产品
//可能的每月付款。
函数GetLowestMonthlyPayments(){
var products=V12.getFinanceProducts();
var lowestMonthlyPayment=0;
var lowestMonthlyPaymentProductId=0;
对于(变量i=0;iparseFloat(monthlyPayment)| | lowestMonthlyPayment==0){
lowestMonthlyPayment=payments.initialPayments;
lowestMonthlyPaymentProductId=product.productId;
}
}
$(“#productsList”).val(最低每月付款产品ID);
计算付款();
}
//准备好我们的活动
(函数($){
GetProducts();
计算付款();
$('#productsList')。在('change',function(){
计算付款();
});
$('#cpRange,#depRange')。打开(“输入”,函数(){
UpdateLoanInfo();
});
$(“#每月最低付款”)。单击(函数(){
GetLowestMonthlyPayments();
});
$(“#现金价格,#存款”).keyup(函数(){
var cp=$(“#现金价格”).val();
var dep=$(“#存款”).val();
$('#cpRange').val(cp);
$('depRange').val(dep);
计算付款();
});
//纺纱机//
$(“+-”).insertAfter(“.quantity input”);
$('.quantity')。每个(函数(){
var spinner=jQuery(this),
input=spinner.find('input[type=“number”]”),
btnUp=spinner.find('.quantity up'),
btnDown=spinner.find('.quantity down'),
min=input.attr('min'),
max=input.attr('max');
btnUp.click(函数(){
var oldValue=parseFloat(input.val());
如果(旧值>=最大值){
var newVal=旧值;
}否则{
var newVal=oldValue+100;
}
spinner.find(“输入”).val(newVal);
微调器.find(“#cpRange”).val(cp);
微调器.find(“#depRange”).val(dep);
微调器。查找(“输入,#现金价格”)。触发(“更改”);
});
单击(函数(){
var oldValue=parseFloat(input.val());
如果(oldValue如果我理解正确,您只缺少输入中有效值的onchange
绑定:我还将您的按钮div更改为buttons。您可能需要检查滑块的初始值……非常感谢!您在那里为我节省了数小时!如果我理解正确,您只缺少onchange
绑定输入中的有效值:我还将您的按钮div更改为按钮。您可能需要检查滑块的初始值…非常感谢!您在那里为我节省了几个小时!