带有来自输入字段的条件的JavaScript IF语句

时间:2011-03-31 14:05:48

标签: javascript jquery html

我正在尝试从输入文件中创建一个简单的calc usign值,但是我将问题传递给if语句时遇到了问题。它看起来像这样:

$('#confirmSila').click(function(){
var dlugosc = $('#sila').val();
var silaOd = $('.silaOd').val();
var silaDo = $('.silaDo').val();
if ((dlugosc > silaOd) && (dlugosc < silaDo))
{
//$('#orderWymiar').attr('value', dlugosc);
$('#sila').css('border', '1px solid green');
$('.silaInfo').text('Statement true');
}else{
$('#wymiar').css('border', '1px solid red');
$('.silaInfo').text('silaOd must be more than' + silaOd + ', and less than ' + silaDo);
}
});

并且,wird是,当force为20时,JavaScript表示它通过了statemenst,当输入.silaOd输入为100.(silaOd meand minForce,sildaDo表示波兰的maxForce)

我不知道,为什么会这样。请帮忙! :)

有一个有效的例子:http://jsfiddle.net/rJA6U/

3 个答案:

答案 0 :(得分:3)

您需要对输入值运行parseInt(),如下所示:

var dlugosc = parseInt($('#sila').val());
var silaOd = parseInt($('.silaOd').val());
var silaDo = parseInt($('.silaDo').val());

答案 1 :(得分:1)

您正在比较字符串&lt;或者&gt;不起作用。您需要将它们转换为int。

示例:

parseInt(dlugosc) > parseInt(sila0d)

答案 2 :(得分:1)

试试这个:

$.fn.tryParseInt = function(defaultValue) {

    var 
        retValue = defaultValue,
        actualValue = $(this).val();

    if (actualValue != null) {
        if (actualValue.length > 0) {
            if (!isNaN(actualValue)) {
                retValue = parseInt(actualValue);
            }
        }
    }

    return retValue;
}


var 
  dlugosc = $('#sila').tryParseInt(0),
  silaOd = $('.silaOd').tryParseInt(0),
  silaDo = $('.silaDo').tryParseInt(0);

基于this link