Actions

Question type - Multiple choice with comments

From LimeSurvey Manual

Short description

This question type can collect input of multiple selections through checkboxes, while allowing the user to provide additional comments.


Example: Multiple choice with questions example.zip

General options

Option 'Other' (other)

Description

This option is used by multiple choice-type questions and gives you the ability to ask for a selection that is not part of the enumerated answer list.

Available options

  • On
  • Off (default)



Mandatory

Description

This option allows the survey administrators to request their respondents to answer certain survey questions. If the mandatory questions are not answered, the respondents will not be able to proceed further. If you have a question with multiple subquestions, and you require only certain subquestions to be answered, use the minimum answer attribute located under the Logic tab.

If you use any of the preinstalled themes and the mandatory question attribute is enabled, a red asterisk will be shown next to the question. If you wish to hide it, please check these instructions.


Available options

  • On - Question must be answered before the participant can proceed to the next page - the answer option 'No answer' is never shown.
  • Soft - If the question is not answered, a warning is shown when trying to proceed to the next page - however, the participant can choose to ignore the warning and proceed. Note that the 'No answer' option is still shown (if activated in survey presentation settings)
  • Off (default) - Question can be left unanswered


Condition (previously "Relevance equation")

Description

If the result value of the condition is "1" or "true", the question is "relevant" in the survey context, i.e. it is shown to the survey participant. If not, the question is hidden. Any survey question allows you to specify a relevance equation. This function is the successor of conditions and supports much more complex conditional logic.

Syntax Highlighting

Whenever you save the condition, it is evaluated and syntax-highlighted. Any errors will be color coded so that you can quickly detect and fix them.

 Hint: To check if all conditions are used correctly within your survey, read about our show logic file feature.


Valid values

  • Any condition that makes use of the ExpressionScript syntax, without surrounding curly braces.

Examples

Here are good examples of syntax highlighting.



Validation (using regular expressions) (preg_validation)

Description

This option lets you specify a regular expression with which you can validate all the parts of a question.

If any question or subquestion value does not meet the validation requirements, the background colour of the text entry field will be changed to red so that users can easily see which parts of the question need to be corrected. Thus, you can do on-page validation. In this way you will not need to wait for the user to click on the submit button to validate the respective question.

Valid values

  • Any valid regular expression

Example


Display

Choice column width (choice_column_width)

Description

This attribute sets the width of the text choice box (of its "wrapper"). If the value of the width is sufficiently high, then it might force the rest of the options to be displayed separately on the next line. Please note that this option does not set the size of the checkbox or of the check icon!

Available options

  • Default: LimeSurvey will try to fit all the column options on one single line;
  • 8%; 17%...92%, 100%: the bigger the selected value, the larger the width of the text input box.



Input box width (text_input_width)

Description

This attribute sets the width of the text input boxes (of the "wrapper" of the text input boxes). The input box is used to introduce an answer to the (sub)question. If the value of the width is sufficiently high, then the text input box will be displayed on the next line. Please note that this option does not set the size of the input or the width of the entire column!

Available options

  • Default: If selected, a default value will be allocated to this attribute in such a way to have both the label and its corresponding text input box on the same line. For example, if the text input box width is 41%, the value of the width of the text input box will be a value that allows both the label and the input box on the same line (58% in this case). If the width of text input box was higher than 58%, then the text input box would be displayed on the next line.
  • 8%; 17%...92%, 100%: the bigger the selected value, the larger the width of the text input box.

Example

  • If you wish to have the input part displayed below the subquestion/label, select the 100% option from the dropdown list.


Question theme (question_theme)

Description

It allows you to use customized themes for the respective question.

Available options

  • Your created question themes which are located under the Question themes in the Themes panel.

See: Question themes

Note: This feature is under development at the moment.


Hide tip (hide_tip)

Description

Most questions will usually include a tip that says "Please choose one of the following options" or a hint text on how to fill out the question. This attribute allows you to turn off or on this tips/hints.

These tips/hints include validation criteria messages (such as min/max number of answers, min/max/equals sum value). If hide_tip is enabled, these messages will be hidden. However, if the user enters invalid data, the tips will appear. They will be coloured in red, getting changed to green once the validation criteria are met.

Available options

  • On - the tips/hints are hidden;
  • Off (default).



Random answer order (random_order)

Description

  Deprecated for Answer Options : As of 5.5.0, this attribute is not longer used for ordering answer options. Please see QS:Answer_order


This attribute causes LimeSurvey to ignore the existing order of answer options/subquestions, and instead it orders them randomly. This option permits the survey creator to diminish the survey bias. Please note that if a question has subquestions, the order of subquestions will be randomized, not the order of the answer options.

Available options

  • Yes - Randomize when participant enters survey
  • No (default)



Label for 'Other:' option (other_replace_text)

Description

Short text string to replace the text "Other" as label for the "other" option.

Note: You can make use of this attribute if you have previously enabled the "other" option located under the general options tab.

Example

Entering a value of "Alternative:" for this attribute would result in the word "Alternative:" being used instead of "Other".


  Issue in LimeSurvey 4.X : It is extremely important to note that this question attribute should only be used in single-language surveys. A translation will be attempted but will only be successful if the translation already exists in the alternate language file (i.e.: translation cannot be made on a survey-by-survey basis). Therefore, to translate your other text, you have to add your other_replace_text to the english .mo file (because this is LimeSurveys baselanguage) and translate this String in each of your surveys languages .mo files.




Position for 'Other:' option (other_position)

Description

Indicates where the 'Other' option should be placed in the answer list, in relation to the answer options.

Note: You can make use of this attribute if you have previously enabled the "other" option located under the general options tab.

Options

  • Before No Answer: The 'Other' option shall be placed in the answer list before the 'No Answer' answer option.
  • At End: The 'Other' option shall be place at the end of the answer list.
  • After specific answer option: The 'Other' option shall be placed in the answer list after a specific answer options which shall be set in the attribute Answer code for 'After specific answer option'.



Always hide this question (hidden)

Description

If enabled, the question will always be hidden - it will not be displayed to the survey participants. This function can be used in the following scenarios:

  • If you wish to prefill a question with a URL and you want not to have it displayed on the screen. This overrides any conditions used within the survey because the respective question will not even be embedded on the page.
  • If you wish to store or calculate a value on the fly via the ExpressionScript - Presentation.
Note: A common question type that is used with this function is the Equation one.

Available options

  • On
  • Off (default)


CSS class (css_class)

Description

If you want to add special CSS classes to certain questions, you can enter the CSS class name(s) in this box. Make sure you leave an empty space between different class names.

Valid values

  • Any text string with a space between different CSS class names.
 Hint: You can also insert an expression in this box (New in 3.0.0 ). Remember that the output of the expression will not be updated dynamically.


  According to the W3C, CSS class names can contain only the characters [a-zA-Z, and 0-9] and ISO 10646 characters U+00A1 and higher, plus the hyphen (-) and the underscore (_). They cannot start with a digit, or a hyphen followed by a digit. LimeSurvey encodes CSS classes, but it does not fix it totally.



Relevance help for printable survey (printable_survey_relevance_help)

Description

If you wish to print a survey, you can also print the relevance equations for each question. But, if you wish to offer instead an explanation rather than the expression on the printed form, fill in this box with the text explanation for the relevance equation.

Valid values

  • Any text and/or numbers you wish to be displayed on the printable form.


Logic

Minimum answers (min_answers)

Description

This function can be used to ensure that a user selects at least a certain number of answers in a multiple choice question.

Valid values

  • Any integer value above 0
  • Any number
  • Any SGQA code
  • Any question code (variable name)
  • Any equation, using ExpressionScript syntax, without surrounding curly braces.

Example

If set to X (a random number), the users can submit the survey form if they select at least X checkboxes. If this option is utilised for ranking questions, this ensures that at least three items are ranked before allowing the respondent to submit the answers/survey.

Please note that if you use this attribute with Ranking questions, you have to set the question to non-mandatory. Otherwise, all the items need to be ranked which is counter-intuitive if you decide to use the min_answers function too.



Maximum answers (max_answers)

Description

It can be used to limit the total number of answers a user can select in a multiple choice question.

Valid values

  • Any number value
  • Any SGQA code
  • Any question code (variable name)
  • Any equation, using ExpressionScript syntax, without surrounding curly braces.

Example

If set to 2, the user will only be able to check at most two checkboxes or one checkbox + fill the "Other" field (if any). For the Ranking question type, the participant would be able to select maximum two items.



Assessment value (assessment_value)

Description

If assessments are used and one or more subquestions are checked, the value from this field will be added to each checked subquestion, contributing to the final assessment score.

Check the following link to read more on assessments and their usage in LimeSurvey.

Valid values

  • Any numerical values



Numbers only for 'Other' (other_numbers_only)

Description

If this attribute is enabled together with the "option other" one (located under the General options tab), only numbers can be typed in by the survey respondents in the "other" textbox.

Available options:

  • On
  • Off (default)



'Other:' comment mandatory (other_comment_mandatory)

Description

It only applies to mandatory questions having an "other answer" option in which the participant can give a free text response ("other comment").

When this setting is activated and the participant selects the other answer (the "other checkbox" or "other answer in a list"), then he will have to give a comment in the "Other comment" input box in order to proceed to the next page.

Note that this option is not available for Multiple Choice questions because the "Other" checkbox status is not recorded in the database for this question type, only the content being recorded. This means that checking the "other" checkbox is just a visual effect that is only meaningful if the text box is filled in: that is why other_comment_mandatory is assumed to be set for this question type.

Available options

  • On
  • Off (default)

Example

If activated for a "Multiple options with comments" question and the user enters a value in the left part of the Other answer but doesn't enter text in the Other Comment part, a warning message will be displayed when he tries to proceed to the next page.



Array exclusion filter (array_filter_exclude)

Description

The Array filter exclusion setting allows you to use any multiple choice question to select or set which responses are NOT displayed in a subsequent list, array or multiple choice question.

The subsequent questions can be filtered on any array question type, including:
  • Multiple choice
  • Multiple choice with comments
  • Multiple short text
  • Multiple numeric
  • Array (5 point, 10 point, Yes/No/Unknown, Increase/Same/Decrease, By column)
  • Array (Dual Scale, Text, Numbers)
  • Ranking

Furthermore, each of these types of questions can filtered.

The only exception is Array by column which can filter other questions, but it cannot be filtered.

How to set it up

Enter the question code of a multiple options question in the array exclusion filter box of the question you are currently editing. The respective question will be used as the source of information for the current question, the non-selected answers from the previous question being retrieved and used as answer options for the current question. For example, if your source multiple option question code is "Q1", enter "Q1" into the 'Array exclusion filter' box to start the filtering process of the answers. Only the answer options that are NOT selected in question Q1 will be visible in your question.

If you wish more questions to be filtered via this option, type the question codes in the box separated by semicolons (;).
  The subquestion codes used in the first question must coincide with the subquestion codes from the second one. Otherwise, the array exclusion filter function will not filter the answers to the first question. Check the below example to better understand how the whole system works.


Cascading

The selected options can be displayed in cascade. This means that you can select a question which filters another question, which filters another question, and so on.

Example

Let's see together the below example:



In the screenshot from above, we got two questions. The first one is a multiple choice question type, while the second one is a multiple choice with comments question type. The answers you provide in the first question will be excluded from the second one. For example, if you select the ComfortUpdate option (that has the subquestion code 'SQ1') and the Plugin option ('SQ4'), the 'SQ1' and the 'SQ4' subquestion correspondents from the second question will be excluded. In our screenshot, we can observe that only the unselected options in the first question and displayed in the second one.

This example can be downloaded from the following link: Limesurvey_group_array_filter_exclude.zip. Import this question group into your LimeSurvey installation.



Array filter style (array_filter_style)

Description

This function allows you to choose how the array filtered subquestions are displayed. They can either be "hidden" or "disabled".

To learn how to filter subquestions, please read the following wiki section.

Available options

  • Hidden (default) - if this option is selected, then the previously selected subquestions will not be displayed in the second question.
  • Disabled - if this option is selected, then the previously selected subquestions will be greyed out and become unselectable.

Example

If you wish to use the "disabled" option, then the previously selected subquestions will be displayed like this:



Array filter (array_filter)

Description

The Array filter setting allows you to use any multiple choice question to select or set which responses are displayed in a subsequent list, array or multiple choice question.

The subsequent questions can be filtered on any array question type, including:
  • Multiple choice
  • Multiple choice with comments
  • Multiple short text
  • Multiple numeric
  • Array (5 point, 10 point, Yes/No/Unknown, Increase/Same/Decrease, Column)
  • Array (Dual Scale, Text, Numbers)
  • Ranking

Furthermore, each of these question types can be filtered.

The only exception is Array (Column), which can filter other questions, but not itself.

How to set a filter

To set a filter, enter the question code of a multiple options question in the array filter box of the question you are currently editing. The respective question will be used as the source of information for the current question, the selected answers from the previous question being retrieved and used as answer options for the current question. For example, if your source multiple option question code is "Q1", enter "Q1" into the 'Array Filter' box to start the filtering process of the answers. Only the answer options that are selected in question Q1 will be visible in the array_filter-ed question.

If you wish more questions to be filtered via this option, type the question codes in the box separated by semicolons (;).
  The subquestion codes used in the first question must coincide with the subquestion codes from the second one. Otherwise, the array filter function will not filter the answers to the first question. Note: When you want to filter the "other" answer option from the first question, you need to provide a subquestion for this answer in the second question and the subquestion code for this answer needs to be "other". Check the below example to better understand how the whole system works.


If multiple choice allow other setting: you can choose other for subquestion code and filter with other checked or not.

Cascading

The selected options can be displayed in cascade. This means that you can select a question which filters another question, which filters another question, and so on.

Array filter example

Let's take a look at the following example to better understand the power of this setting:



In the screenshot from above, we got two questions. The first one is a multiple short text question type, while the second one is an array dual scale question type. The answers you provide in the first question will be listed in the second one. Technically, the answers you provide to the subquestions from the first question are filtered and displayed in the second question.

This example can be downloaded from the following link: limesurvey_group_32.lsg. Import this question group into your LimeSurvey installation.



Comment only when ... (commented_checkbox)

Description

This attribute allows you to define the behaviour of the comment box.

Available options

  • No control on checkbox : user can always enter comments independent of whether the option is checked or not. Typing in the comment box does not mean that the respective subquestion will be checked.
  • Checkbox is checked (default) : if the user enters a comment, then the corresponding checkbox gets automatically checked.
  • Checkbox is unchecked : user can only comment on unchecked checkboxes.



Remove text or uncheck checkbox automatically (remove_text_or_uncheck_checkbox_auto)

Description

This attribute allows you to manipulate the behaviour of the comment textbox once you uncheck its corresponding textbox - whether the text input remains saved or not.

Available options

  • On (default): it enabled and the user unchecks the option, then the text put remains untouched
  • Off: if disabled and the user unchecks the option, then the corresponding text input gets deleted.


Exclusive option (exclusive_option)

Description

The exclusive option attribute takes the code of an answer in a multiple option question so that when clicked on its corresponding checkbox, all the other previously checked options will get unchecked and get marked as read-only (=disabled). This function was created to ensure the data integrity when one of the multiple options in a multiple option question implies that no other option can be selected too. Basically, this feature marks the other attributes as being irrelevant.

It is also possible to have multiple exclusive options. These must be separated by semicolons.

Example

For a short explanation on answer codes, check first the following wiki section. Once understood, introduce the "AnswerCode" that will trigger the function once selected.

Below, you may see an example where the exclusive option attribute is used.

You can see in the first screenshot that some non-LimeSurvey options are selected:



If you click on the marked option (which is entered in the exclusive option box), the other options will get unmarked and disabled, being left only with the current option checked:



To take a closer look at our example, import the .lsq file into your LimeSurvey installation:

File:Example exclusive option question.zip.



Auto-check exclusive option if all others are checked (autocheck_exclusive_option)

Description

If a participant checks all the answer options, you can use this attribute to un-check the respective options and auto-check one single option. The ID of the auto-check answer option has to be typed in the exclusive option attribute.

Note that the answer options are seen as subquestions in the response table. If a user checks a subquestion, then the answer registered in the response table is "Yes [Y]" (otherwise, "No [N]").

Available options

  • On
  • Off (default)

Example

Let's suppose you offer the following five answer options: "A", "B", "C", "D", and "all the above". As a researcher, you will not like a respondent to check all the possible answer options from the list. Therefore, in order to prevent this, you may activate this attribute so that only one answer is registered in the response table ("all the above" answer in this case). To activate it, type in the exclusive option box the id of the "all the above" subquestion.



Randomization group name (random_group)

Description

It places the questions into a specified randomization group, all questions included in the specified group being displayed in a random order to the survey respondents.

You can find a sample survey using randomization group name in ExpressionScript sample survey.

Valid values

Just enter any string you like (for example: 'group1'). All question which have set the same string within the randomization group name box will have their place in the survey randomized (=randomly exchanged among each other).


Preview To preview the questions use the preview survey instead of the preview question group function, as the second has been reported to not show the questions in a randomized order.



Question validation equation (em_validation_q)

Description

This is an equation that is used to validate the entire question (e.g, all of its parts collectively for a multi-answer question). If the question fails the validation criteria, then em_validation_q_tip message will be displayed (it uses the CSS style .error). This tip uses the .em_q_fn_validation CSS style, which is hidden by default within template.css.

The main difference between this feature and the subquestion validation equations (em_validation_sq option) is that for this feature, if the question (or question parts) fail validation, then an error message could be shown. For the subquestion validation, each text entry cell (e.g., in an array question type, but it can also be applied to single entry question types) will be styled so that the background color is (light) red.

Valid values

  • Any equation that makes use of the ExpressionScript syntax, without surrounding curly braces.

Example

  • You want to collect demographic information from users via a multiple short text question, and you want to validate that the user has entered a valid email address and phone number.

This example shows how the question looks with invalid answers:

And here is what it looks like with one invalid answer:

Here is how you edit a question to enter that information:

And here is part of the Show Logic File output that lets you check the accuracy of your expression and ensure that there are no syntax errors:

As you can see, the validation equation tests that both the email and phone number are either empty or match a regular expression filter.

The validation tip only shows the warning message if the phone or email appears invalid.

 Hint: In order to create complex validation messages, read about the usage of the ExpressionScript.


If you wish to import the example from above into your LimeSurvey installation, download the following .lsq file: Em_validation_q_example.zip.

 Hint: Remember, LimeSuvey uses the Perl syntax for regular expressions, so they should start and end with / (slash character)!



Tip for whole question validation equation (em_validation_q_tip)

Description

If you are using the question validation equation, you can use this box in order to display an optional message as question tip on how the question has to be filled out.

Valid values

Example

See the example from the question validation equation wiki section- it shows how the tip can be tailored to show which parts of a multiple short text question fail the validation criteria.


Other

Insert page break in printable view (page_break)

Description

This attribute is only active when you actually print a survey from the Printable View. It forces a page break before the question.

Available options

  • On
  • Off (default)



SPSS export scale type (scale_export)

Description

This is used for SPSS export only. This attribute overrides the default scale guessed by SPSS. To learn what the different measurement scales do, please read the related SPSS documentation.

Available options

  • Default (default)
  • Nominal
  • Ordinal
  • Scale


Statistics

Show in public statistics (public_statistics)

Description

This attribute allows the survey administrator to chose if a particular question results should be displayed to the survey participants after they submitted the survey.

Note: To have the statistics displayed on the last page, do not forget to enable this functionality from the presentation & navigation settings. Otherwise, no statistics link will be displayed at the end of your survey.

The default setting for each question is 'Off' (=Do not show the question statistics to the respondents). You have to enable this for every single question if you want to show the survey statistics of that (those) particular question(s) to the survey participants after the survey submission.

Available options

  • On
  • Off (default)



Display chart (display_chart)

Description

This attribute allows the survey administrator to choose if a chart that contains the question results should be displayed to the survey participants after they filled out the survey.

Note: To have the chart displayed on the last page, you have to enable the following options:


Available options

  • On
  • Off (default)