I extended the script for prepending a question of type "array" by adding a third comment and changing some "answer-list" classes to "subquestion-list"
Code:
<script type="text/javascript" data-author="Tony Partner">
$(document).on('ready pjax:scriptcomplete',function(){
// Identify the questions
var qArrayID = {QID};
var qArray = $('#question'+qArrayID);
var qMultiText = qArray.nextAll('.multiple-short-txt:eq(0)');
var qMultiTextBis = qMultiText.nextAll('.multiple-short-txt:eq(0)');
var qMultiTextTre = qMultiText.nextAll('.multiple-short-txt:eq(1)');
// Hide the multi-short-text question
$(qMultiText).hide();
$(qMultiTextBis).hide();
$(qMultiTextTre).hide();
// Remove the core column widths
$('table.questions-list col:not(.col-answers)', qArray).css('width', 'auto');
// Insert the header cells
$('table.questions-list thead td:eq(0)', qArray).after('<th class="answer-text inserted-column-label" /></th><th class="answer-text-bis inserted-column-label-bis" /></th><th class="answer-text-bis inserted-column-label-tre" /></th>');
$('.inserted-column-label, .inserted-column-label-bis, .inserted-column-label-tre', qArray).css('width','15%');
// Insert the answer row cells
$('tr.subquestion-list', qArray).each(function(i) {
$('.answertext', this).after('<td class="answer-item text-item"></td><td class="answer-item text-item-bis"></td><td class="answer-item text-item-tre"></td>');
});
// Load the column label for the text inputs
$('.inserted-column-label:eq(0)', qArray).text($('.ls-label-question', qMultiText).text());
$('.inserted-column-label-bis:eq(0)', qArray).text($('.ls-label-question', qMultiTextBis).text());
$('.inserted-column-label-tre:eq(0)', qArray).text($('.ls-label-question', qMultiTextTre).text());
// Loop through the multi-short-text sub-questions
$('li.answer-item', qMultiText).each(function(i) {
// Move the text inputs into the array
$('input[type="text"]', this).appendTo($('tr.subquestion-list:eq('+i+') .text-item', qArray));
});
$('li.answer-item', qMultiTextBis).each(function(i) {
// Move the text inputs into the array
$('input[type="text"]', this).appendTo($('tr.subquestion-list:eq('+i+') .text-item-bis', qArray));
});
$('li.answer-item', qMultiTextTre).each(function(i) {
// Move the text inputs into the array
$('input[type="text"]', this).appendTo($('tr.subquestion-list:eq('+i+') .text-item-tre', qArray));
});
});
</script>
The next is to use the plugin "hideEmptyColumn" to only show the selected categories.