- Posts: 107
- Thank you received: 2
Ask the community, share ideas, and connect with other LimeSurvey users!
Please Log in to join the conversation.
<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 nextQuestions = $(nextQuestion1); 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]
<script type="text/javascript" data-author="Tony Partner"> $(document).on('ready pjax:scriptcomplete',function(){ // Identify this question var thisQuestion = $('#question{QID}'); // Identify the exclusive row var thisTable = $('table.subquestion-list', thisQuestion); var exclusiveRow = $('tr[id^="javatbd"]:last', thisTable); $(exclusiveRow).addClass('exclusive-row'); // Listener on the checkboxes $(':checkbox', thisTable).on('change', function(event){ if($(this).is(':checked')) { var thisRow = $(this).closest('tr'); // Identify the column var thisIndex = $(this).closest('td').index(); // Identify the radios to be un-checked var excludedItems = $('tr.exclusive-row td.answer-item:nth-child('+(thisIndex+1)+')', thisTable); if($(thisRow).hasClass('exclusive-row')) { excludedItems = $('tr:not(.exclusive-row) td:nth-child('+(thisIndex+1)+')', thisTable); } // Un-check those checkboxes $.each(excludedItems, function(i, thisItem) { $('input[type="hidden"]', thisItem).val(''); $(':checkbox', thisItem).prop('checked', false).trigger('change'); }); } }); }); </script>
Please Log in to join the conversation.