JavaScript if()语句未按预期进行评估

时间:2012-08-08 18:38:24

标签: javascript comparison-operators

我有一个jsFiddle来证明我的问题(并允许你们让我理顺)。

我只是检查两个输入文本框的值,并在最高价格低于最低价格时提醒用户,但他们正在向后评估!我有(maxValue < minValue)...,但它评估它就好像操作符“大于”。

我错过了什么?!?

<form id="search" action="search.php" method="post">

    <label id="lblPriceMin" for="txtPriceMin">Minimum Price</label>
    <input type="text" id="txtPriceMin" name="priceMin"></input>
    <br />
    <br />

    <label id="lblPriceMax" for="txtPriceMax">Maximum Price</label>
    <input type="text" id="txtPriceMax" name="priceMax"></input>
    <br />
    <br />

    <input type="reset" id="reset" name="reset" value="Clear Form" />
</form>

这是js,

$('#txtPriceMax').focusout(function() {

    var minValue = $('input#txtPriceMin').val();
    var maxValue = $('input#txtPriceMax').val();

    //alert ('minValue: ' + minValue + ', maxValue: ' + maxValue);

    if (maxValue < minValue) {
        alert ('The maximum value (' + maxValue + ') must be greater than the minimum value (' + minValue + ')!');
    }
});

1 个答案:

答案 0 :(得分:8)

使用parseFloat()

jsFiddle Example

if (parseFloat(maxValue) < parseFloat(minValue))