【发布时间】:2013-03-19 12:00:07
【问题描述】:
我正在开发一个根据值设置 2 个变量的开关,如下所示:
switch(_drukte) {
case "normaal":
_gradients.push("green");
_widths.push("20%");
break;
case "drukker":
_gradients.push("yellow");
_widths.push("40%");
break;
case "gezellig druk":
_gradients.push("orange");
_widths.push("60%");
break;
case "druk":
_gradients.push("red");
_widths.push("80%");
break;
case "vol":
_gradients.push("full");
_widths.push("100%");
break;
default:
_gradients.push("green");
_widths.push("20%");
break;
}
由于某种原因,这总是调用默认值。 _drukte 来自 JSON 文件的 AJAX 获取,并且值会随着循环而变化。 我已经提醒了 _drukte 的值,它符合预期(目前它是“normaal”、“drukker”、“gezellig druk”、“druk”和“vol”)。 我尝试弄乱其他情况(甚至使其无效 javascript),它只是调用默认值。
有人知道为什么吗?
【问题讨论】:
-
你能设置一个jsfiddle吗?
-
以
_drukte的实际值显示示例。在你的 switch 语句之前做一个console.log(_drukte),可能你的 ajax 有问题。 -
首先将__gradients定义为哈希表,然后尝试运行代码..
-
FWIW? @AdrianoVaroliPiazza,_gradients 在代码中设置得更高,
var _gradients = [];。我不会尝试填充不存在的数组。
标签: javascript loops switch-statement default