javascript 在Surveyjs中使用条件页面可见性来分支调查路径

fumotvh3  于 2022-11-27  发布在  Java
关注(0)|答案(1)|浏览(136)

我正在设计一个调查,它根据每个问题的回答,通过使特定的隐藏页面可见来分支。我试图在我深入调整代码之前,使用神话般的surveyjs gui来尽可能多地设计。
在第一个问题中,有六个复选框答案可供选择,每个复选框答案都显示一个单独的页面。到目前为止一切顺利。我的问题出现在第二组问题中,它们没有那种一对一的关系。
不同问题集中的多个答案可能会导致同一页面变为可见。
例如:

Question 1:
I prefer
-SWEET
-SOUR
-BITTER

如果答案是Sweet,Sweet页面将变为可见:

Question 2:
What's your favorite Sweet?
-Kit Kat
-M & Ms
-Sour Balls

如果答案为“Sour”,则“Sour”页面将变为可见:

Question 2:
What's your favorite Sour Food?
-Limes
-Sourdough Bread
-Sour Balls

但是,一旦我选择了“Sour Balls”页面,使其在“上一个”问题中可见,该页面就不再作为一个选项显示在GUI中。如果上一个问题会使可见性变得多余,这是有意义的,但是第一个问题会使用户分支,因此不会发生这种情况。如果他们在问题1中选择选项2,选项1页面及其响应操作就不会发生。
换句话说,当我尝试添加“如果问题2的答案是”酸球“,则使”酸球“页面可见”的逻辑流时,“酸球”页面选项未显示,因为我已在问题2的前一个可能答案中“已”使其可见。
这是一个严格的GUI问题,我可以修复,例如,通过添加一个“或”条件到JSON中的visibleIF的每个页面,有多个路径的可见性?
或者我做分支编码错误,有一个比隐藏/显示页面更好的方法来创建一个逻辑流,其中许多问题导致非唯一的页面?

fv2wmkja

fv2wmkja1#

好吧,我是一个白痴,但我会在这里张贴一个答案,以防其他人在这个问题上绊倒。
我在JSON中以布尔OR的形式向其中一个页面添加了第二个条件

"visibleIf": "{FoodOptionsSweet} = ['SourBalls'] or {FoodOptionsSour} = ['SourBalls']",

我注意到GUI也相应地发生了变化。
关键不在于为先前可见的页面添加新规则,而在于返回到使页面不再隐藏的第一个条件,并添加OR运算符和第二个条件。
强大的图形用户界面,智能编码。

相关问题