- Posts: 3
- Thank you received: 0
Ask the community, share ideas, and connect with other LimeSurvey users!
$(function(){ /** ID du questionnaire **/ var questionIdentifier = $('#question{QID}'); /** Options **/ var selectOptions = { 'COL001': ["Ballast de voie", "Ballast de voie non dangereux", "Bétons", "Boues contenant des hydrocarbures", "Boues de dragage", "Boues de forage, boues et laitances de béton", "Boues issue du traitement des effluents", "Boues issues de la décontamination des sols", "Boues issues du traitement physico-chimique de déchets non dangereux", "Boues provenant de séparateurs eau/hydrocarbures", "Boues provenant du traitement des eaux usées", "Déchets de constructions et de démolition en mélange", "Déchets solides provenant de la décontamination des sols ", "Enrobés", "Mélange bitumineux", "Mélange de béton, briques, tuiles et céramiques", "Refus de tri BTP", "Sables de bancs à sable issus de jardins publics", "Sables de stations d'épuration", "Terres et cailloux comprenant des substances dangereuses", "Terres et cailloux ne comprenant pas de substances dangereuses", "Terres faiblement impactées", "Terres polluées aux hydrocarbures", "Terres polluées dangereuses", "Terres polluées non dangereuses", ""] }; var createSelect = function(key) { var select = $('<select>'); $.each(selectOptions[key], function (id, value) { var option = $('<option value="' + value + '">' + value + '</option>'); select.append(option); }); return select; }; var getKey = function(name) { for (var testKey in selectOptions) { if (name.indexOf('_' + testKey) > -1) { return testKey; } } return null; }; $.each($(questionIdentifier).find('.subquestion-list input'), function(index, element){ var input = $(element); var name = input.attr('name'); if ('text' == input.attr('type')) { var key = getKey(name); if (null != key) { var select = createSelect(key); input.parent().append(select); select.val(input.val()); select.change(function(){ input.val(select.val()); }); input.css('display', 'none'); } } }); });
Please Log in to join the conversation.
<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">Altona</option>\ <option value="2">Boues de forage, boues et laitances de béton</option>\ <option value="3">Boues issues du traitement physico-chimique de déchets non dangereux</option>\ <option value="4">Blankenese</option>\ <option value="5">Allermöhe</option>\ <option value="6">Altengamme</option>\ <option value="7">Billwerder</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>
Please Log in to join the conversation.
Please Log in to join the conversation.