我正在尝试从输入文件中创建一个简单的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/
答案 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);