Javascript 检查输入值是否为一个或另一个值
我有一个不起作用的代码Javascript 检查输入值是否为一个或另一个值,javascript,php,jquery,Javascript,Php,Jquery,我有一个不起作用的代码 if( $.trim($('#v5121').val()).length<1 ) { $('#v5121').addClass('error'); $('#v5121').effect("shake", { times:1 }, 20); error++; } else { if (isNaN( $('#v5121').val() )) { $('#v5121').addClass('error');
if( $.trim($('#v5121').val()).length<1 ) {
$('#v5121').addClass('error');
$('#v5121').effect("shake", { times:1 }, 20);
error++;
}
else {
if (isNaN( $('#v5121').val() )) {
$('#v5121').addClass('error');
$('#v5121').effect("shake", { times:1 }, 20);
error++;
}
else {
if( parseFloat($('#v5121').val()) != 100 || parseFloat($('#v5121').val()) != 108 ) {
$('#v5121').addClass('error');
$('#v5121').effect("shake", { times:1 }, 20);
error++;
}
else {
$('#v5121').addClass('valid');
}
}
}
我用
if( parseFloat($('#v5121').val()) != 100 )
在输入框中我加了100,它给了我一个有效的类和作品。如果我输入的不是100,它会给我一个错误。如果我使用
if( parseFloat($('#v5121').val()) != 108 )
如果我输入108以外的任何内容,我会给出一个错误,但输入108时不会
当我尝试检查值是100还是108时,无论输入什么值,它都会给出一个错误
if( parseFloat($('#v5121').val()) != 100 || parseFloat($('#v5121').val()) != 108 )
这永远是真的。如果输入不能为100或108,请使用AND(&&)而不是or(| |)。还可以考虑在检查之前设置变量的值。
var tempValue=parseFloat($('#v5121').val());
if(tempValue != 100 && tempValue != 108 )
如果您不介意我的建议,我建议您设置
var myInput=$(“#v5121”)代码>在代码顶部,然后在任何地方使用该变量,而不是$('#v5121')
。例如myInput.addClass('error')代码>。当jquery不必反复查找同一个元素时,代码将运行得更快。感谢diynevala,我们将考虑到这一点
var tempValue=parseFloat($('#v5121').val());
if(tempValue != 100 && tempValue != 108 )