jQuery 中的逻辑运算符无法正常工作

Logical operators not working correctly in jQuery

我正在处理一个函数。

var price       =   $("input[name=bid_price]").val();

var milestone   =   $("input[name=initial_price]").val();

  if(price >= milestone)
                {
                  console.log('True);
                }
          else {
                  console.log('False');
                }

现在,如果我输入 100 的价格和 90 的里程碑。那么,它应该打印 True,但它转到 else 并打印 false。如果我将大于更改为小于,这意味着 100 < 90,那么它会打印 true。这里有什么问题,为什么它不起作用?

您必须首先将检索到的值解析为数字:

var price       =   parseFloat($("input[name=bid_price]").val());
var milestone   =   parseFloat($("input[name=initial_price]").val());

使用 val() 从输入框中检索到的值是字符串。因此,逻辑比较变得有问题。如果您将它们转换成数字,那么您的代码将 运行 正常。

查看此工作演示:

var price = parseFloat($("input[name=bid_price]").val());
var milestone = parseFloat($("input[name=initial_price]").val());

if (price >= milestone) {
  console.log('True');
} else {
  console.log('False');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="bid_price" value="46">
<input name="initial_price" value="27">