为什么此错误条件返回true?

时间:2020-04-27 16:55:07

标签: javascript html jquery

为什么当我在最后一个输入6而不是60上书写并单击ob按钮时,如果我的条件为假,它会返回true?如何解决这个问题呢?预先感谢!

<!doctype html>
<html>

  <head>
  </head>

  <body>
    <button>get
      result</button>
    <div></div>
    <input Class="value1" value=10>
    <br>
    <br>
    <input Class="value2" value=20>
    <br>
    <br>
    <input Class="value3" value=30>
    <br>
    <br>
    <input Class="value4" value=40>
    <br>
    <br>
    <input Class="value5" value=50>
    <br>
    <br>
    <input Class="value6" value=60>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      $('button').click(function() {
        var value1 = $(".value1").val();
        var value2 = $(".value2").val();
        var value3 = $(".value3").val();
        var value4 = $(".value4").val();
        var value5 = $(".value5").val();
        var value6 = $(".value6").val();

        if (value1 < value2 && value2 < value3 && value3 < value4 && value4 < value5 && value5 < value6) {

          $("div").text("true");
        } else {

          $("div").text("false");
        }

      });

    </script>
  </body>

</html>

3 个答案:

答案 0 :(得分:0)

一个简单的解决方案是将输入框转换为“数字”类型,以限制输入的字符,然后将所有变量转换为数字。

例如:

np.column_stack((main, values))

答案 1 :(得分:0)

您正在比较字符串(来自.value),而不是数字。


您可以将循环与unary plus +转换后的值一起使用,例如

let isIncreasing = true
let i = 1
while (i < 6 && isIncreasing) {
    isIncreasing = +$(".value" + i).val() < +$(".value" + (++i)).val();
}

if (isIncreasing) $("div").text("true");
else $("div").text("false");

答案 2 :(得分:0)

默认情况下,您的输入值为数字(input = 30),但是当您更改输入中的值时,该值将成为字符串值,并且不会隐式地将字符串转换为数字。

当您获得输入的数值时,请使用Number或parseInt之类的解析函数