我们说我有一个由五个问题组成的调查。在完成第五个问题之后,最后一个按钮应该将个人带到许多不同屏幕中的一个,这取决于他们之前的答案。然而,尽管我输入了答案,但它将我带到同一个屏幕。
以下是我的代码的一部分:
onEvent("resultbutton", "click", function(event) {
if (getText("q1dropdown") == "Female") {
if (getText("q2dropdown") == "0-12", "13-25", "26-39", "40 and over") {
if (getText("q3dropdown") == "House") {
if (getText("q4dropdown") == "Alone") {
if (getText("q5dropdown") == "Happy", "Energetic") {
setScreen("HAPPYGIRL");
}
}
}
}
}
if (getText("q1dropdown") == "Female") {
if (getText("q2dropdown") == "0-12", "13-25", "26-39", "40 and over") {
if (getText("q3dropdown") == "House") {
if (getText("q4dropdown") == "Alone") {
if ((getText("q5dropdown") == "Tired"), "Sad") {
setScreen("TIREDGIRL");
例如,当我输入答案时,应该指引我进入" TIREDGIRL"屏幕,它只会把我带到" HAPPYGIRL"屏幕。
答案 0 :(得分:1)
假设您正在尝试查看每个下拉列表响应是否是逗号分隔值中的任何一个,这实际上并没有按照您的想法进行。
例如,为了检查getText("q5dropdown")
是值"Tired"
还是"Sad"
,您有两个选项:
if ( getText("q5dropdown") == "Tired" || getText("q5dropdown") == "Sad") )
if ( ["Tired", "Sad"].includes(getText("g5dropdown")) )
现有代码使用comma operator,它将返回最后一个操作数,一个字符串,无论选择的答案如何,都会使这些条件始终评估为真。