Javascript Ajax和Jquery中的if-else条件不起作用

Javascript Ajax和Jquery中的if-else条件不起作用,javascript,jquery,html,ajax,Javascript,Jquery,Html,Ajax,我是Ajax和JQuery新手,简单的要求是显示用户使用number输入字段选择的值 我的代码如下: <input type="text" id="number" /> <span id="display"></span> <script type="text/javascript"> $('#number').keyup(function (){ if($('#number').text($(this).val())==

我是Ajax和JQuery新手,简单的要求是显示用户使用
number
输入字段选择的值

我的代码如下:

<input type="text" id="number" />
<span id="display"></span>

<script type="text/javascript">
    $('#number').keyup(function (){
        if($('#number').text($(this).val())===1){
            $("#display").html("15,000");
        }
        else if('#number').text($(this).val())==2){
            $("#display").html("28,000");
        }
        else if('#number').text($(this).val())==3){
            $("#display").html("39,000");
        }
        else if('#number').text($(this).val())==4){
           $("#display").html("48,000");
        }
        else if('#number').text($(this).val())==5){
           $("#display").html("55,000");
        }
    });
</script>

$('#number').keyup(函数(){
if($('#number').text($(this.val())==1){
$(“#display”).html(“15000”);
}
else if(“#number”).text($(this.val())==2){
$(“#display”).html(“28000”);
}
else if('#number').text($(this.val())==3){
$(“#display”).html(“39000”);
}
else if(“#number”).text($(this.val())==4){
$(“#display”).html(“48000”);
}
else if('#number').text($(this.val())==5){
$(“#display”).html(“55000”);
}
});

它与Ajax无关。您的语法无效

首先,您有许多用括号括起来的语句,例如:

else if('#number').text($(this).val())==2)
通过在
('#number')
前面添加括号,代码是固定的

但是
if
语句的条件不是我们需要的。这样的语句检查方法是否返回
true
。此方法设置匹配元素的文本内容。显然,您不需要使用它。您所需要做的就是检查输入的值。这可以借助于该方法来完成

因此,您的代码应该如下所示:

$(function() {     
    $('#number').keyup(function (){
        if($(this).val() == 1){
            $("#display").html("15,000");
        }
        else if($(this).val() == 2){
            $("#display").html("28,000");
        }
        else if($(this).val() == 3){
            $("#display").html("39,000");
        }
        else if($(this).val() == 4){
            $("#display").html("48,000");
        }
        else if($(this).val() == 5){
            $("#display").html("55,000");
        }
    });
});
小提琴:


如注释中所述,此类构造通常使用
开关
/
案例
语句执行。如果/
其他
的话,就必须多做
,这不是最佳做法

您需要显示应用程序的预期文本和收到的文本,以及您试图解决的问题。是的,我的确切要求是,当用户在输入类型字段中键入1作为输入时,内部显示15000。同样地,2,3,4,5使用得非常完美,感谢您的澄清。次要提示:请在问题本身中编辑对回答问题至关重要的其他信息,而不是将其作为评论发布。我现在已经对它进行了升级,所以其他用户应该非常清楚,不需要直接编辑它。“您的语法无效”并不能解释它无效的原因。可能最好使用
开关
大小写
@Maarten Bodewes我更新了我的答案。谢谢你的评论@Mosh-Feu,是的,你是对的。但不希望在初始代码中做太多更改。@LazarevAlexandr您可以使用倒勾(`)来指示文本中的代码片段。不做太多更改是可以的,但您可以使用类似“但通常这是使用switch/case语句执行的”这样的句子。“这与Ajax无关”应该是问题下方的评论,而不是答案的一部分。在你的答案中使用更多的部分会使它看起来更专业。只是一些提示,可以创造更好的答案。向上投票。