Bonjour,
Veuillez n'utiliser que les exports
lss, et non
lsq ou
lsg.
J'ai été indulgent cette fois-ci.
Vous n'avez pas de champ correspondant dans la base de données.
Il n'y a qu'une seule sous-question : EC : PU.
Où les autres champs devraient-ils être stockés ?
Voici ma suggestion :
Cinq questions distinctes, liées visuellement par les propriétés CSS « no-question » et « no-bottom ».
Code:
.no-question {
border-top:0;
margin-top: -5px;
}
.no-question .question-title-container,
.no-question .question-valid-container {
display:none;
}
.no-bottom {
border-bottom:0;
margin-bottom:0;
}
.no-question .answer-container {
padding-top: 0em;
padding-bottom: 0.5em;
}
.no-question .question-container {
border: none !important;
margin-top: -10px !important;
}
.no-question2 .ls-heading {
display:none;
}
.no-bottom .answer-container {
padding-bottom: 0em;
}
Chaque question devrait contenir les scripts habituels :
1. pour l'ajout dynamique de données
Code:
https://www.limesurvey.org/manual/Workarounds:_Manipulating_a_survey_at_runtime_using_Javascript#varLengthArray_script_(LimeSurvey_6_and_up)
2. pour les menus déroulants
Code:
<script type="text/javascript" charset="utf-8">
$(document).on('ready pjax:scriptcomplete',function(){
var thisQuestion = $('#question{QID}');
// Insert selects
$('.answer-item.answer_cell_X001', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\
<option value="">...</option>\
<option value="1">CJ</option>\
<option value="2">GCGP</option>\
<option value="3">GEII</option>\
<option value="4">GMP</option>\
<option value="5">QLIO</option>\
<option value="6">TC</option>\
<option value="7">CS</option>\
<option value="8">GACO</option>\
<option value="9">GEA</option>\
<option value="10">MLT</option>\
<option value="11">INFO</option>\
<option value="12">MP</option>\
<option value="13">RT</option>\
<option value="14">INFOCOM</option>\
<option value="15">MMI</option>\
<option value="16">GCCD</option>\
<option value="17">MT2E</option>\
<option value="18">HSE</option>\
<option value="19">Chimie</option>\
<option value="20">GB</option>\
<option value="21">PEC</option>\
<option value="22">SD</option>\
<option value="23">GIM</option>\
<option value="24">SGM</option>\
</select>');
$('.answer-item.answer_cell_X002', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\
<option value="">...</option>\
<option value="1">Section 1</option>\
<option value="2">Section 2</option>\
<option value="3">Section 3</option>\
<option value="4">Section 4</option>\
<option value="5">Section 5</option>\
<option value="6">Section 6</option>\
<option value="7">Section 7</option>\
<option value="8">Section 8</option>\
<option value="9">Section 9</option>\
<option value="10">Section 10</option>\
<option value="11">Section 11</option>\
<option value="12">Section 12</option>\
<option value="13">Section 13</option>\
<option value="14">Section 14</option>\
<option value="15">Section 15</option>\
<option value="16">Section 16</option>\
<option value="17">Section 17</option>\
<option value="18">Section 18</option>\
<option value="19">Section 19</option>\
<option value="20">Section 20</option>\
<option value="21">Section 21</option>\
<option value="22">Section 22</option>\
<option value="23">Section 23</option>\
<option value="24">Section 24</option>\
<option value="25">Section 25</option>\
<option value="26">Section 26</option>\
<option value="27">Section 27</option>\
<option value="28">Section 28</option>\
<option value="29">Section 29</option>\
<option value="30">Section 30</option>\
<option value="31">Section 31</option>\
<option value="32">Section 32</option>\
<option value="33">Section 33</option>\
<option value="34">Section 34</option>\
<option value="35">Section 35</option>\
<option value="36">Section 36</option>\
<option value="37">Section 37</option>\
<option value="60">Section 60</option>\
<option value="61">Section 61</option>\
<option value="62">Section 62</option>\
<option value="63">Section 63</option>\
<option value="64">Section 64</option>\
<option value="65">Section 65</option>\
<option value="66">Section 66</option>\
<option value="67">Section 67</option>\
<option value="68">Section 68</option>\
<option value="69">Section 69</option>\
<option value="70">Section 70</option>\
<option value="71">Section 71</option>\
<option value="72">Section 72</option>\
<option value="73">Section 73</option>\
<option value="74">Section 74</option>\
<option value="75">Section 75</option>\
<option value="76">Section 76</option>\
<option value="77">Section 77</option>\
<option value="85">Section 85</option>\
<option value="86">Section 86</option>\
<option value="87">Section 87</option>\
</select>');
// Listeners
$('.inserted-select', thisQuestion).on('change', function(i) {
if($(this).val() != '') {
$(this).closest('.answer-item').find('input:text').val($('option:selected', this).val()).trigger('change');
}
else {
$(this).closest('.answer-item').find('input:text').val('').trigger('change');
}
});
// Returning to page
$('.with-select input:text', thisQuestion).each(function(i) {
var thisCell = $(this).closest('.answer-item');
var inputText = $.trim($(this).val());
$('select.inserted-select', thisCell).val(inputText);
});
// Clean-up styles
$('select.inserted-select', thisQuestion).css({
'max-width': '100%'
});
$('.with-select input:text', thisQuestion).css({
'position': 'absolute',
'left': '-9999em'
});
});
</script>
3. pour « Autre » dans la dernière matrice
(Cinq questions de type « texte court » en arrière-plan du tableau)
Code:
<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
// Identify the questions
var thisQuestion = $('#question'+{QID}+'');
var nextQuestion1 = $(thisQuestion).nextAll('.text-short:eq(0)');
var nextQuestion2 = $(thisQuestion).nextAll('.text-short:eq(1)');
var nextQuestion3 = $(thisQuestion).nextAll('.text-short:eq(2)');
var nextQuestion4 = $(thisQuestion).nextAll('.text-short:eq(3)');
var nextQuestion5 = $(thisQuestion).nextAll('.text-short:eq(4)');
var nextQuestions = $(nextQuestion1).add(nextQuestion2).add(nextQuestion3).add(nextQuestion4).add(nextQuestion5);
var nextLength = nextQuestions.length;
var sqLength = ('tr.answers-list', thisQuestion).length;
// Hide the short-text questions
$(nextQuestions).hide();
// Move the hidden text inputs into the array
for (i = 0; i < nextLength; i++) {
var workingIndex = (sqLength - 1) - (nextLength - i);
var nextQ = nextQuestions[i];
$('th.answertext:eq('+workingIndex+')', thisQuestion).append($('input[type="text"]', nextQ)).closest('tr').addClass('otherRow');
}
// Some styling...
$('input[type="text"]', thisQuestion).css({
'width': '100%'
});
});
</script>[/i]