Skip to main content

FV Decipher Support

All the topics, resources needed for FV Decipher.

 
FocusVision Knowledge Base

Piping Open-End Response Boxes Based on a Previous Question

Overview

You can limit the number of open-end response boxes shown in a question based on users' answers to a previous question. The process for limiting open-end boxes is different, though, depending on the question type of the base question.

This document outlines how to display a predetermined number of open-end response boxes based on both a number question and a single-select question.

1: Basing Boxes on a Number Question

To limit open-end boxes based on a number question, you will first need to create the number question and verify that it has a correct value range:

pipingoe_000.png

Next, you will need to create the text question that will display the open-end response boxes. The number of rows in this question should match the maximum value allowed in the number question.

For example, if the maximum value for the number question is five, then add five rows to your text question:

pipingoe_001.png

1.1: Setting Conditions via the Survey Editor

To select which rows will be shown using the Survey Editor, you will need to set conditions for each row. To set conditions for a row, click the row, and click "Show If" in the top right panel:

pipingoe_002.png

Then, click the “New Condition” button:

pipingoe_003.png

In the Logic Conditions Setup window, select the number question you are basing the row off of from the drop-down menu:

pipingoe_004.png

In the text box that appears, type in >= (greater than or equal to) the row number. For example, for the first row, your condition would be >=1:

pipingoe_005.png

Repeat this for every row you would like to make conditional. Using the example above with five rows, your last row would be >=5. You can review the conditions you have set for each row in its "Show If" box:

pipingoe_006.png

1.2: Setting Conditions via the Survey XML

To set the shown rows using the survey XML, first open the XML Editor by selecting "XML" under the "Build" menu:

pipingoe_007.png

Then set the conditions of all the rows using the rowCond attribute on your text question:

rowCond="row.index lt QLABEL.val"

Where QLABEL is the question label from your number question. Assuming your number question label is Q1, for example, your rowCond would look like this:

pipingoe_015.png

2: Basing Boxes on a Radio Question

To limit open-end boxes based on a radio (single-select) question, you will first need to create the single-select question with the same amount of rows as your text question will have:

pipingoe_008.png

Next, create the text question. Add the number of rows to match the amount of rows in the single-select question. For example, if the single-select question had five rows, then add five rows to the text question:

pipingoe_009.png

2.1: Setting Conditions via the Survey Editor

To select which rows will be shown using the Survey Editor, you will need to set conditions for each row. To set conditions for a row, click the row, and click "Show If" in the top right panel:

pipingoe_010.png

Then click the “New Condition” button:

pipingoe_011.png

Select the single-select question you are basing the row off of from the drop-down menu:

pipingoe_012.png

Then, select all options that are of this number or higher while having "or" logic applied. For example, your first row would select all options, while your last row would only select the last option shown:

pipingoe_013.png

pipingoe_014.png

2.2: Setting Conditions via the Survey XML

To set the shown rows using the survey XML, first open the XML Editor by selecting "XML" under the "Build" menu:

pipingoe_007.png

Then set the conditions of all the rows using the rowCond attribute on your text question:

rowCond="row.index lt QLABEL.selected.value"

Where QLABEL is the question label from your number question. Assuming your single-select question label is Q3, for example, your rowCond would look like this:

pipingoe_016.png

This works only if the data values for each of the rows in your single select question are in numerical order starting with "1". If data values are different, you can use this rowCond instead:

rowCond="row.index lt QLABEL.val"
  • Was this article helpful?