Javascript Ajax和Jquery中的if-else条件不起作用
我是Ajax和JQuery新手,简单的要求是显示用户使用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())==
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无关”应该是问题下方的评论,而不是答案的一部分。在你的答案中使用更多的部分会使它看起来更专业。只是一些提示,可以创造更好的答案。向上投票。