- Posts: 13881
- Thank you received: 4245
Ask the community, share ideas, and connect with other LimeSurvey users!
<script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); // Column-specific classes $('tr.subquestion-list', thisQuestion).each(function(i) { $('th, td', this).each(function(i) { $(this).addClass('column-'+i); }); }); // Insert selects into row 1 / column 1 if($('tr.subquestion-list:eq(0) .answer-item.column-1 .inserted-select', thisQuestion).length == 0) { $('tr.subquestion-list:eq(0) .answer-item.column-1', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="">Please choose...</option>\ <option value="1">Red</option>\ <option value="2">Blue</option>\ <option value="3">Yellow</option>\ </select>'); } // Insert selects into row 1 / column 2 if($('tr.subquestion-list:eq(0) .answer-item.column-2 .inserted-select', thisQuestion).length == 0) { $('tr.subquestion-list:eq(0) .answer-item.column-2', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="">Please choose...</option>\ <option value="1">VW</option>\ <option value="2">FORD</option>\ <option value="3">FIAT</option>\ </select>'); } // Insert selects into row 1 / column 3 if($('tr.subquestion-list:eq(0) .answer-item.column-3 .inserted-select', thisQuestion).length == 0) { $('tr.subquestion-list:eq(0) .answer-item.column-3', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="">Please choose...</option>\ <option value="1">1</option>\ <option value="2">2</option>\ <option value="3">3</option>\ </select>'); } // Insert selects into row 2 / column 1 if($('tr.subquestion-list:eq(1) .answer-item.column-1 .inserted-select', thisQuestion).length == 0) { $('tr.subquestion-list:eq(1) .answer-item.column-1', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="">Please choose...</option>\ <option value="1">Yes</option>\ <option value="2">No</option>\ <option value="3">Do not know</option>\ </select>'); } // Insert selects into row 2 / column 2 if($('tr.subquestion-list:eq(1) .answer-item.column-2 .inserted-select', thisQuestion).length == 0) { $('tr.subquestion-list:eq(1) .answer-item.column-2', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="">Please choose...</option>\ <option value="1">Option 1</option>\ <option value="2">Option 2</option>\ <option value="3">Do not know</option>\ </select>'); } // Insert selects into row 2 / column 3 if($('tr.subquestion-list:eq(1) .answer-item.column-3 .inserted-select', thisQuestion).length == 0) { $('tr.subquestion-list:eq(1) .answer-item.column-3', thisQuestion).addClass('with-select').append('<select class="inserted-select form-control list-question-select">\ <option value="">Please choose...</option>\ <option value="1">+++</option>\ <option value="2">++</option>\ <option value="3">+</option>\ <option value="4">0</option>\ <option value="5">-</option>\ <option value="6">--</option>\ <option value="7">---</option>\ </select>'); } // Listeners on select elements $('.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()); var selectval = $('select.inserted-select option', thisCell).filter(function () { return $(this).html() == inputText; }).val(); $('select.inserted-select', thisCell).val(selectval); }); // Clean-up styles $('select.inserted-select', thisQuestion).css({ 'max-width': '100%' }); $('.with-select input:text', thisQuestion).css({ 'position': 'absolute', 'left': '-9999em' }); }); </script>
Oh, you found it.And I found this below, it seems not applied in Version 3.25.20