大于运算符jquery不返回true

时间:2016-02-10 16:29:08

标签: javascript jquery

我正在尝试使用Jquery的大于操作,但是有一些我缺少的东西。如果大于操作返回>>u = User.objects.get(id=1) >>u.password u'pbkdf2_sha256$12000$e30c2ea7a76f83b7c1a975ddc24286b675e714ebbbc72ccd5f0401730231ab57' ,则应该抛出true,但它没有。

我应该如何包装这些变量以便将其识别为数字?或者我应该做的其他事情。

参见代码:

alert()

见小提琴: JFiddle

3 个答案:

答案 0 :(得分:2)

使用parseInt()获取号码。

您的代码中也存在一些问题:

您有2x waste_id并使用了两个未知变量current_totaltotal_waste_processed

工作小提琴:https://jsfiddle.net/8o7sh2j7/13/

答案 1 :(得分:1)

嗯,首先,你实际上并没有定义你要比较的变量。也许你意味着在这里?:

var current_total = $("#current_total").val();
var total_waste_processed = $("#total_waste_processed").val();

这会将它们定义为来自这些输入的字符串。如果这些输入只是产生数字而你希望它们作为数字处理,那么你必须这样解析它们。例如,如果它们是整数:

var current_total = parseInt($("#current_total").val());
var total_waste_processed = parseInt($("#total_waste_processed").val());

这种比较方式可以是数字,而不是字符串。 (因为,对于字符串,"100"之类的内容比“"5"小”,例如,#Whatthehello #goback

答案 2 :(得分:1)

您应该解析变量current_total& total_waste_processed使用 parseInt() .val()使用>返回字符串,因此如果您想使用像$(document).ready(function() { $("#add_new_log").click(function(event) { var current_total = parseInt($("#current_total").val()); var total_waste_processed = parseInt($("#total_waste_processed").val()); if (current_total > total_waste_processed) { alert("value surpassed"); } }); });这样的数学运算符,则应将这些字符串解析为整数,你的代码应该跟随例子。

希望这有帮助。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='current_total' placeholder='current total'/>
<input type='text' id='total_waste_processed' placeholder='total waste processed'/>

<button id='add_new_log'>Add new log</button>
List<Transform> targets