1

我想根据同一仪器中前一个字段的结果自动填写调查复选框。在我的示例中,如果受访者正在使用红色工具包,我希望他们在最初的工具包问题中​​选择“是”,因此有关哪些工具类型的后续复选框字段已经回答,以节省填写所有工具的时间在工具包中。

这是设置的字段。选择套件“是”后,我希望自动选择红色锤子和钉子

我看到了如何使用@DEFAULT='[previous field name]' 对文本字段执行此操作,但我无法将其用于复选框。将 @DEFAULT='[kit]' 添加到使用锤子或钉子的字段中不会导致自动填充选择。如果动作可以是有条件的,那也很好,如如果选择套件的“是”,那么锤子='1',否则它将留空。

4

1 回答 1

1

请参阅有关管道的内置帮助和常见问题解答:

如果您要从多选字段(单选,下拉菜单)中传递答案,它会将选项标签(而不是编码数据值)显示到传递字段的位置。例如,如果您有一个下拉问题,上面写着“您最喜欢的冰淇淋是什么?” 选择“巧克力”、“香草”和“草莓”(分别编码为 0、1、2),然后选择“巧克力”后,下一个问题将显示“在 1 到 10 的范围内,如何你很喜欢巧克力吗?

但是对于非多选字段,例如 Text、Notes、Slider 字段,它将通过管道传输文字数据值。如果您希望通过管道传递多项选择字段的值(而不是标签),请将 ':value' 附加到括号内的变量名称 - 例如,[race:value]。

注意:如果您想将多选字段的值作为字段的默认值进行管道传输,则必须在 @DEFAULT 操作标记内使用管道时使用 ':value'。

从分类字段(收音机、下拉菜单等)进行管道传输的默认行为是管道标签(示例中的文本“是”)。但是,您使用@DEFAULT操作标签将值传递到的复选框字段需要选择代码(值)。幸运的是,有一个选项可以使用[field:value].

因此,添加@DEFAULT='[kit:value]'到您的锤子/钉子字段是您想要的。

但是还有另一个问题;@DEFAULT在页面加载时进行评估,因此无法使用数据库中的值根据调查或表单当前页面中的答案动态选择默认值。如果它们不在数据库中,则它不能使用当前页面中的值。

通常,这可以通过用分页符分隔两个字段来解决(仪器中的一个新部分字段,在调查设置中启用了“每页一个部分”选项)。这样,[kit]当用户单击“下一页”时,将值提交到数据库,然后@DEFAULT可以从数据库中读取值并使用它来自动选择其中一个复选框选项。

最后一个考虑因素是您的 [kit] 字段和您的锤子/钉子字段中的编码值必须兼容。如果1, Yes对应于锤子和钉子的“红色”,则这些复选框中的“红色锤子”和“红色钉子”选项应编码为1@DEFAULT无法执行任何计算或评估任何逻辑,因此您不能使用它来表示“如果选择了套件的“是”则选择了锤子 = 1,否则将其留空”;它的工作方式是采用单个参数并使用该参数在页面加载和构造字段时自动选择选项(或者如果它是文本输入字段,则将参数作为文本插入)。在此过程中没有评估任何逻辑的范围。

于 2021-04-22T03:35:28.800 回答