jQuery使用if语句检查输入中的值是否多个if语句

时间:2013-06-27 13:49:34

标签: jquery if-statement input

我有一个输入,您可以在其中输入值,进行检查,如果它大于if语句中的数字,则在第二个,禁用字段中获得百分比值...

现在当我尝试使用其他if和else语句检查不同的数字时问题出现了。我是jQuery nooby,我不知道如何解决这个问题。

到目前为止,我遇到了这种情况:http://jsfiddle.net/dzorz/xFHte/

HTML:

<input type="text" class="entered" id="entered" name="entered">
<input type="text" class="percent" id="percent" name="percent" disabled>

脚本:

$(".entered").change(function(){

 if(parseFloat(this.value) > 39617756.85){
    $(".percent").val('1%');
 }


 else if(parseFloat(this.value) > 19205010.98){
    $(".percent").val('2%');
 }


 else if(parseFloat(this.value) > 12378426.86){
    $(".percent").val('3%');
 }

 else(parseFloat(this.value) > 1242179.25){
    $(".percent").val('not qualified');
 }

});

我做错了什么?

2 个答案:

答案 0 :(得分:2)

我认为问题是你需要不在'not qualified'的else块中的最后一个else if,这样如果没有满足任何条件,将显示'不合格的消息。

$(".entered").change(function(){
    var value = parseFloat(this.value);
    if(value > 39617756.85){
        $(".percent").val('1%');
    } else if(value > 19205010.98){
        $(".percent").val('2%');
    } else if(value > 12378426.86){
        $(".percent").val('3%');
    } else{
        $(".percent").val('not qualified');
    }
});

演示:Fiddle

答案 1 :(得分:1)

您的html语法存在一些问题

<input type="text" class="entered" id="entered" name="entered" />
<input type="text" class="percent" id="percent" name="percent" disabled="disabled" />

结合评论中的建议

$(".entered").change(function () {
    var value = parseFloat($(this).val());
    var text = "";

    if (value > 39617756.85) {
        text = "1%";
    } else if (value > 19205010.98) {
        text = "2%";
    } else if (value > 12378426.86) {
        text = "3%";
    } else if (value > 1242179.25) {
        text = "not qualified";
    }

    if (text != "") $(".percent").val(text);
});

会给你this working example