Jquery 我的if语句有什么问题

Jquery 我的if语句有什么问题,jquery,Jquery,我有一个做基本计算的简单脚本。我有一个动态填充的价格,但为了简单起见,我设置了一个固定价格。接受首期付款的输入框设置了“最小”和“最大”属性。最小值为3000的10%,即300,最大值为3000。我的if语句一直告诉我,除非我使用最小值或最大值,否则首期付款总是小于或大于最小最大值。在fiddle中,if语句适用于min和max,但不适用于我的实际站点。这是一张给你检查的支票 HTML 付款 $3000 首付款 $300 融资额 $2700 学期 22个月 利率 0% 月付 $122.73 输

我有一个做基本计算的简单脚本。我有一个动态填充的价格,但为了简单起见,我设置了一个固定价格。接受首期付款的输入框设置了“最小”和“最大”属性。最小值为3000的10%,即300,最大值为3000。我的if语句一直告诉我,除非我使用最小值或最大值,否则首期付款总是小于或大于最小最大值。在fiddle中,if语句适用于min和max,但不适用于我的实际站点。这是一张给你检查的支票

HTML


付款
$3000
首付款
$300
融资额
$2700
学期
22个月
利率
0%
月付
$122.73
输入较高的首付款以降低每月付款

JS

$('update#u down_payment')。单击(函数(e){
var预付款=$(“#变更金额”).val();
var min=$('变更金额').attr('最小');
var max=$('变动金额').attr('最大');
警报(“首期付款=”+首期付款+”最低=“+最低+”最高=”+最高);
如果(首付==“”| |首付>最高| |首付<最低){
$('.error').text(“请输入”+数字(分钟)之间的首期付款。toLocaleString(“en US”{
风格:“货币”,
货币:“美元”,
最小分数位数:0
})+“和”+数字(最大值)。toLocaleString(“en US”{
风格:“货币”,
货币:“美元”,
最小分数位数:0
}));
$('.error').show();
}否则{
var payment=$(“#payment td:n子项(2)”).text().replace(/\D/g,”)*1;
风险值融资金额=(付款-首期付款);
$('.error').hide();
$(“#首付td:n个孩子(2)”)。文本(数字(首付)。toLocaleString(“en-US”){
风格:“货币”,
货币:“美元”,
最小分数位数:0
}));
$(“#融资金额td:N子项(2)”)。文本(数字(融资金额)。toLocaleString(“en-US”){
风格:“货币”,
货币:“美元”,
最小分数位数:0
}));
$(“#每月支付td:n个孩子(2)”)。文本(数字(融资金额/22)。toLocaleString(“en-US”){
风格:“货币”,
货币:“美元”,
最小分数位数:0
}));
}
});
我的if语句有什么问题吗这会使它工作的

  var min = parseInt($('#change_amount').attr('min'),10);
  var max = parseInt($('#change_amount').attr('max'),10);

尝试更新的小提琴:


.val
也返回字符串也许您希望将
min
max
转换为数字,而不是将它们用作字符串?顺便说一句,这里有一个Fiddle,jsiddle会自动将您的脚本插入到加载中。将事件分配包装在
$(function()…})中-请参阅更新,我将javascript设置更改为“head”和wrappedAlso,请使用数字格式编写函数Enrico的答案也可以,但它将始终假定您的金额为Int。感谢各位,我做了JB King所说的,并且成功了。
$('#update_down_payment').click(function(e) {
  var down_payment = $('#change_amount').val();
  var min = $('#change_amount').attr('min');
  var max = $('#change_amount').attr('max');
  alert('down payment=' + down_payment + ' Min=' + min + ' Max=' + max);
  if (down_payment === "" || down_payment > max || down_payment < min) {
    $('.error').text("Please input down payment between " + Number(min).toLocaleString("en-US", {
      style: "currency",
      currency: "USD",
      minimumFractionDigits: 0
    }) + " and " + Number(max).toLocaleString("en-US", {
      style: "currency",
      currency: "USD",
      minimumFractionDigits: 0
    }));
    $('.error').show();
  } else {
    var payment = $("#payment td:nth-child(2)").text().replace(/\D/g, '') * 1;
    var financed_amount = (payment - down_payment);
    $('.error').hide();
    $('#down_payment td:nth-child(2)').text(Number(down_payment).toLocaleString("en-US", {
      style: "currency",
      currency: "USD",
      minimumFractionDigits: 0
    }));
    $('#financed_amount td:nth-child(2)').text(Number(financed_amount).toLocaleString("en-US", {
      style: "currency",
      currency: "USD",
      minimumFractionDigits: 0
    }));
    $('#monthly_payment td:nth-child(2)').text(Number(financed_amount / 22).toLocaleString("en-US", {
      style: "currency",
      currency: "USD",
      minimumFractionDigits: 0
    }));
  }
});
  var min = parseInt($('#change_amount').attr('min'),10);
  var max = parseInt($('#change_amount').attr('max'),10);
var min = Number($('#change_amount').attr('min'));
var max = Number($('#change_amount').attr('max'));`