- Posts: 21
- Thank you received: 3
Ask the community, share ideas, and connect with other LimeSurvey users!
<script type="text/javascript" charset="utf-8"> $(document).ready(function(){ maxDiff({QID}); function maxDiff(qID) { // Random number between 1 and 2 // Math.floor(Math.random() * (max - min + 1)) + min; var randomNum = Math.floor(Math.random() * ((2-1)+1) + 1); // Move the cells around $('#question'+qID+' table.subquestions-list col:eq('+randomNum+')').prependTo('colgroup.col-responses'); $('#question'+qID+' table.subquestions-list thead tr:eq(0) th:eq('+(randomNum-1)+')').prependTo('#question'+qID+' table.question thead tr:eq(0)'); $('#question'+qID+' table.subquestions-list tbody tr').each(function(i){ $('td.answer-item:eq('+(randomNum-1)+')', this).prependTo(this); }); // Style stuff $('#question'+qID+' table.subquestions-list col.odd').css({ 'background-color':'transparent' }); $('#question'+qID+' table.subquestions-list tbody th').css({ 'text-align':'center' }); $('#question'+qID+' table.subquestions-list tbody tr:even td, #question'+qID+' table.question tbody tr:even th').css({ 'background-color':'#F1F1F1' }); $('#question'+qID+' table.subquestions-list tbody tr:odd td, #question'+qID+' table.question tbody tr:odd th').css({ 'background-color':'#FCFCFC' }); // Prevent clicking twice in the same row $('#question'+qID+' input.radio').on('click', function () { $('#question'+qID+' input.radio').prop('disabled', false); $('#question'+qID+' input.radio:checked').each(function(i) { var thisRow = $(this).closest('tr'); $('input.radio', thisRow).not(this).prop('disabled', true); }); }); } }); </script>
<script type="text/javascript" charset="utf-8"> $(document).ready(function(){ // Call the maxDiff() function // Set the second parameter to true for randomized rows maxDiff({QID}, true); }); function maxDiff(qID, randomize) { // Random number between 1 and 2 // Math.floor(Math.random() * (max - min + 1)) + min; var randomNum = Math.floor(Math.random() * ((2-1)+1) + 1); // Move the columns $('#question'+qID+' table.subquestions-list col:eq(1)').prependTo('colgroup.col-responses'); $('#question'+qID+' table.subquestions-list thead tr:eq(0) th:eq(0)').prependTo('#question'+qID+' table.question thead tr:eq(0)'); $('#question'+qID+' table.subquestions-list tbody tr').each(function(i){ $('td.answer-item:eq(0)', this).prependTo(this); }); $('#question'+qID+' table.subquestions-list tbody tr').each(function(i){ $('td.answer-item:eq(0)', this).prependTo(this); }); // Random rows if(randomize) { var rowsArr = []; $('#question'+qID+' table.subquestions-list tbody tr').each(function(i){ $(this).attr('data-index', i); rowsArr.push(i); }); shuffleArray(rowsArr); $(rowsArr).each(function(i){ $('#question'+qID+' table.subquestions-list tbody').append($('#question'+qID+' tr[data-index="'+this+'"]')); }); } // Style stuff $('#question'+qID+' table.subquestions-list col.odd').css({ 'background-color':'transparent' }); $('#question'+qID+' table.subquestions-list tbody th').css({ 'text-align':'center' }); $('#question'+qID+' table.subquestions-list tbody tr:even td, #question'+qID+' table.question tbody tr:even th').css({ 'background-color':'#F1F1F1' }); $('#question'+qID+' table.subquestions-list tbody tr:odd td, #question'+qID+' table.question tbody tr:odd th').css({ 'background-color':'#FCFCFC' }); // Prevent clicking twice in the same row $('#question'+qID+' input.radio').on('click', function () { $('#question'+qID+' input.radio').prop('disabled', false); $('#question'+qID+' input.radio:checked').each(function(i) { var thisRow = $(this).closest('tr'); $('input.radio', thisRow).not(this).prop('disabled', true); }); }); } function shuffleArray(array) { for (var i = array.length - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var temp = array[i]; array[i] = array[j]; array[j] = temp; } return array; } </script>