具有多个条件和数字范围的jQuery IF公式

时间:2019-02-05 00:11:07

标签: jquery if-statement numbers range

我需要使用jquery设置几个if语句:

如果amt(变量)介于0到5000之间,则更改输入值

否则,如果amt500117999之间,则更改输入值

其他更改输入值

我的else if似乎不起作用,我总是以else返回。

我的输入类型设置为数字。

$('#pledge').submit(function() {
  var amt = $("#donation").val();
  if ((amt <= '17999' && amt >= '5001')) {
    $('#priority').val('2');
  } else if (amt <= '0' && amt >= '5000') {
    $('#priority').val('2');
  } else {
    $('#priority').val('3');
  }
});

它总是返回优先级= 3。

1 个答案:

答案 0 :(得分:1)

不要与字符串比较,不要与数字比较。比较字符串时,它们是按字符进行比较的,所以'10' < '9'因为'1' < '9'

您还可以在else if中向后添加比较运算符。

$('#pledge').submit(function() {
  var amt = parseInt($("#donation").val(), 10);
  if (amt <= 17999 && amt >= 5001) {
    $('#priority').val('2');
  } else if (amt >= 0 && amt < 5000) {
    $('#priority').val('2');
  } else {
    $('#priority').val('3');
  }
});