- Posts: 51
- Thank you received: 1
Ask the community, share ideas, and connect with other LimeSurvey users!
Please Log in to join the conversation.
<script type="text/javascript" data-author="Tony Partner"> $(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>\ <optgroup label="Altona">\ <option value="1">Altona-Altstadt</option>\ <option value="2">Altona-Nord</option>\ <option value="3">Bahrenfeld</option>\ <option value="4">Blankenese</option>\ </optgroup>\ <optgroup label="Bergedorf">\ <option value="5">Allermöhe</option>\ <option value="6">Altengamme</option>\ <option value="7">Billwerder</option>\ </optgroup>\ </select>'); $('.answer-item.answer_cell_X002', thisQuestion).addClass('with-select').append('<select name="select1" class="inserted-select form-control list-question-select">\ <option value="">...</option>\ <option value="1">Fußball</option>\ <option value="2">Handball</option>\ <option value="3">Karate</option>\ <option value="4">Leichtathletik</option>\ <option value="5">Schwimmen</option>\ <option value="6">Volleyball</option>\ </select>'); $('select[name="select1"] option[value="2"]').attr('selected','selected'); $('.answer-item.answer_cell_X003', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="">...</option>\ <option value="1">U8 (2014 und jünger)</option>\ <option value="2">U10 (2012-2013)</option>\ <option value="3">U12 (2010-2011)</option>\ <option value="4">U14 (2008-2009)</option>\ <option value="5">U16 (2006-2007)</option>\ <option value="6" selected>U18 (2004-2005)</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'); } // 3rd column conditional on 2nd column if($(this).closest('.answer-item').hasClass('answer_cell_X002')) { handleColumnX003($(this)); } }); function handleColumnX003(thisSelect) { var thisRow = $(thisSelect).closest('tr.subquestion-list'); var item3 = $('.answer_cell_X003', thisRow); if($(thisSelect).val() < '3') { $('.inserted-select', item3).prop('disabled', false); $('input:text', item3).val('4').trigger('change'); } else { $('.inserted-select', item3).val('').prop('disabled', true); $('input:text', item3).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); }); $('.answer_cell_X002 .inserted-select').each(function(i) { handleColumnX003($(this)); }); // 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.