我是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>
答案 0 :(得分:2)
它与Ajax无关。您的语法无效。
首先,你有许多带有ommited括号的语句,例如这句话:
else if('#number').text($(this).val())==2)
通过在('#number')
前添加一个括号,代码已修复。
但if
陈述的条件不是我们所需要的。这样的语句检查text()
方法是否返回true
。此方法设置匹配元素的文本内容。显然,您不需要使用它。您需要做的就是检查输入的值。这可以在val()
方法的帮助下完成。
因此,您的代码应如下所示:
$(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");
}
});
});
小提琴:http://jsfiddle.net/82t86kqw/1/
正如评论中已经提到的,这种类型的构造通常使用switch
/ case
语句执行。有很多if
/ else
不是最佳做法。