这个switch语句出了什么问题?我将从选择菜单中选择此值,其中选项/值为1或2.输入字段仅显示" 1"什么时候应该是" $ 1500"
Modified code is on codepen
答案 0 :(得分:0)
从输入中检索值时,会得到字符串,即“1”或“2”。 因此,您必须将其解析为整数或浮点数:
替换:
var cost = this.value;
使用:
var cost = parseInt(this.value, 10);
另一个解决方案是在switch / case中枚举字符串,因为它已经指出:
switch(cost){
case '1':
cost = "$1500";
break;
case '2':
cost = "$2500";
break;
default:
break;
}
顺便说一下习惯在switch语句中写一个默认情况
答案 1 :(得分:0)
switch
语句根据MDN使用严格比较。
为了适当使用,我建议在这种情况下使用字符串。
答案 2 :(得分:0)
在案例陈述中使用字符串 - https://jsfiddle.net/3ujg7kr8/
$('[name="costfield"]').change(function(){
var cost = this.value;
switch(cost){
case '1':
cost = "$1500";
break;
case '2':
cost = "$2500";
break;
}
$('#exampleInputEstimate1').val(cost);
});