如何访问 Movilizer 答案中选定答案项的标签
How to access the label of a selected answer item in a Movilizer answer
在文本输入屏幕(类型 5)中,我有一个包含多个答案项的下拉输入元素(答案类型 6)。休假 OK 我想将所选答案项的标签存储在局部变量中。调用 getAnswerData 反而给我答案项的客户端密钥。如何访问标签?
您可以做的是在 onLeaveOkPersistAssignment 中使用 getAnswerValue 并将此值分配到新的本地变量中,例如$本地:选定项。
通过这样做,clientKey 将存储在此 var 中。在下一个或后续屏幕上,您可以使用此 clientKey 访问正确的数组 pos 值。
示例:
最初你的问题可能是这样的:
question key="q0" type="5" title="">
<answer key="q0a0" nextQuestionKey="q1" dummyAnswer="true" attributeType="6">
<item clientKey="0" dummyAnswerItem="true" />
<text/>
</answer>
<onEnterAssignment>
$local:myArray =
{
0:'Product 1';
1:'Product 2';
2:'Product 3';
};
addAnswer($answer:'q0a0', null, 'Dropdown List');
for(items:$local:myArray)
{
addAnswerItem($answer:'q0a0', null, '0', items, $local:myArray[items]);
}
</onEnterAssignment>
此示例包含一个 dummyAnswer(key=q0a0) 和一个 dummyAnswerItem,在 onEnterAssignment 中,您使用 addAnswer() 调用答案并使用 addAnswerItem 分配答案项。
现在,在这个答案的 onLeaveOkPersistAssignment 中,您正在使用 getAnswerValue(),在使用 getAnswerValue 时,您正在将 clientKey 分配给本地变量。
<onLeaveOkPersistAssignment>
$local:selectedItem = getAnswerValue($answer:'q0a0');
</onLeaveOkPersistAssignment>
您现在可以在使用 changeEvents 的同一屏幕上或在后续屏幕上执行此操作:
<question key="q1" type="0" title="">
<answer key="q1a0" nextQuestionKey="END" dummyAnswer="true"/>
<onEnterAssignment>
addAnswer($answer:'q1a0', null, $local:myArray[$local:selectedItem]);
</onEnterAssignment>
</question>
这允许您在下一个屏幕上打印所选项目的标签。
在文本输入屏幕(类型 5)中,我有一个包含多个答案项的下拉输入元素(答案类型 6)。休假 OK 我想将所选答案项的标签存储在局部变量中。调用 getAnswerData 反而给我答案项的客户端密钥。如何访问标签?
您可以做的是在 onLeaveOkPersistAssignment 中使用 getAnswerValue 并将此值分配到新的本地变量中,例如$本地:选定项。 通过这样做,clientKey 将存储在此 var 中。在下一个或后续屏幕上,您可以使用此 clientKey 访问正确的数组 pos 值。
示例: 最初你的问题可能是这样的:
question key="q0" type="5" title="">
<answer key="q0a0" nextQuestionKey="q1" dummyAnswer="true" attributeType="6">
<item clientKey="0" dummyAnswerItem="true" />
<text/>
</answer>
<onEnterAssignment>
$local:myArray =
{
0:'Product 1';
1:'Product 2';
2:'Product 3';
};
addAnswer($answer:'q0a0', null, 'Dropdown List');
for(items:$local:myArray)
{
addAnswerItem($answer:'q0a0', null, '0', items, $local:myArray[items]);
}
</onEnterAssignment>
此示例包含一个 dummyAnswer(key=q0a0) 和一个 dummyAnswerItem,在 onEnterAssignment 中,您使用 addAnswer() 调用答案并使用 addAnswerItem 分配答案项。 现在,在这个答案的 onLeaveOkPersistAssignment 中,您正在使用 getAnswerValue(),在使用 getAnswerValue 时,您正在将 clientKey 分配给本地变量。
<onLeaveOkPersistAssignment>
$local:selectedItem = getAnswerValue($answer:'q0a0');
</onLeaveOkPersistAssignment>
您现在可以在使用 changeEvents 的同一屏幕上或在后续屏幕上执行此操作:
<question key="q1" type="0" title="">
<answer key="q1a0" nextQuestionKey="END" dummyAnswer="true"/>
<onEnterAssignment>
addAnswer($answer:'q1a0', null, $local:myArray[$local:selectedItem]);
</onEnterAssignment>
</question>
这允许您在下一个屏幕上打印所选项目的标签。