【问题标题】:JQuery - .keyup() with if statement (2 digit numbers)JQuery - .keyup() 与 if 语句(2 位数字)
【发布时间】:2017-01-14 19:21:56
【问题描述】:

如果我在 <input id="test"> 上键入 3,则结果是 true。 但是如果我在<input id="test"> 上输入 12,那么结果是 false 应该是(真),因为 12 大于 3。

我有这样的代码:

$(document).ready(function() {
  
  var minim = $('#minimal').val();
  $('#test').keyup(function() {
    if ($(this).val() > minim) {
      console.log('true');
    }
    else {
      console.log('false');
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<Input id="test" type="number" />
<Input id="minimal" type="number" value="2" />

请帮帮我:(

【问题讨论】:

  • 你真正想在这段代码中实现什么。详细解释你的问题
  • 你在比较字符串,你需要将值转换为数字

标签: javascript jquery if-statement logic onkeyup


【解决方案1】:

val() - 返回字符串

试试

$(document).ready(function() {

  var minim = parseInt($('#minimal').val());
  $('#test').keyup(function() {
    if (parseInt($(this).val()) > minim) {
      console.log('true');
    }
    else {
      console.log('false');
    }
  });
});

【讨论】:

  • 你应该总是在使用parseInt时包含一个基数。
  • 我只是想传达本质:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-11
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
相关资源
最近更新 更多