Table of Contents
mcAlphabetize - Alphabetize choices on-the-fly in all languages
The mcAlphabetize function arranges multiple choice choices into alphabetical order on-the-fly. It is useful for translated surveys where you want the choices in alphabetical order for every language. It is also useful if you don't want to manually alphabetize each time you add a choice to a question.
Functionality includes:
- Works with vertical single answer, vertical multi-answer, dropdown list, select box and multi-select box
- Alphabetizes based on the current language
- Supports anchoring of choices to the bottom of the list
- Compatible with mcColumns (a multiple choice responsive columns function)
mcAlphabetize currently does not support choice groups.
This function is available for a reasonable fee. Contact TomG on the Qualtrics Community to learn more.
To alphabetize options in side-by-side dropdowns on-the-fly, see sbsSelectAlphabetize. To alphabetize drill-down dropdowns on-the-fly, see ddAlphabetize.
Set-up Instructions
Survey Header
Add the mcAlphabetize function to the survey header to make it available to any question in the survey. Go to Look & Feel → General → Header edit → and paste the provided mcAlphabetize function JS:
<script>/*Paste mcAlphabetize function JS here*/</script>
Alternatively, paste the mcAlphabetize function JS into a question's JS outside the existing Qualtrics functions to make it available to questions on the page.
Multiple Choice Question
Question Settings
Any “Answers” setting is valid.
If “Answers” is set to either “Single Answer” or “Multiple Answer”, “Position” should be set to “Vertical” (fully compatible with mcColumns if a column layout is desired).
Question JavaScript
Add JS to call the mcAlphabetize function to apply it to the Multiple Choice question as follows:
Qualtrics.SurveyEngine.addOnload(function() { mcAlphabetize(this); });
For anchored choices, use the anchors option to specify the choice ids as an array in the order the choices should be listed. For example:
Qualtrics.SurveyEngine.addOnload(function() { mcAlphabetize(this,{anchors:[7,8]}); });
Options
anchors
anchors specifies the array of choice ids that should be anchored to the bottom of the list.
For multi-select boxes, the choice ids are specified as “QR~QIDxx~id” where 'QIDxx' is the QID of the question and 'id' is the choice id. For all other answer types, the choice id is a number or a number preceded by 'x' for carry forward questions.
To identify choice ids, preview the question and use the Inspect feature of your browser.
Default: [] (nothing anchored)
langs
langs is an object for mapping Qualtrics language codes to valid JavaScript locale languages for correct sorting. It is only needed if the Qualtrics language code doesn't resolve to a valid JavaScript locale language code. Of the built-in Qualtrics language only ZH-S (Simplified Chinese) and ZH-T (Traditional Chinese) don't resolve, but they are included in the langs object by default.
If you have created your own language code, you made need to add your language to the langs object if it doesn't automatically resolve. A new language specification would look like langs:{"XX":"yy"}.
qlang
qlang is the Qualtrics language code string that should be used to do the alphabetization. By default, this is the current language of the survey.
Default: "${e://Field/Q_Language}"