- Posts: 62
- Thank you received: 3
Ask the community, share ideas, and connect with other LimeSurvey users!
Joffm wrote: Please attach a lss export with only these questions.
Joffm
<script type="text/javascript" charset="utf-8"> function shuffle(array) { var currentIndex = array.length, temporaryValue, randomIndex; // While there remain elements to shuffle... while (0 !== currentIndex) { // Pick a remaining element... randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; // And swap it with the current element. temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; } $(document).on('ready pjax:scriptcomplete',function(){ // Fill the array var arr1 =["001","002","003","004","005","006","007","008","009","010","011","012","013","014","015","016","017","018","019","020","021","022","023","024","025","026","027","028","029","030","031","032","033","034","035","036","037","038","039","040","041","042","043","044","045","046","047","048","049","050","051","052","053","054","055","056","057","058","059","060","061","062","063","064","065","066","067","068","069","070","071","072","073"]; var arr2 =["074","075","076","077","078","079","080","081","082","083","084","085","086","087","088","089","090","091","092","093","094","095","096","097","098","099",100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126]; var arr3 =[127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199]; var arr4 =[200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263]; arr1 = shuffle(arr1); arr2 = shuffle(arr2); arr3 = shuffle(arr3); arr4 = shuffle(arr4); anumbers = '#,' + arr1.slice(0,5).join(',')+ ','; anumbers = anumbers + arr2.slice(0,5).join(',')+ ','; anumbers = anumbers + arr3.slice(0,5).join(',')+ ','; anumbers = anumbers + arr4.slice(0,5).join(',')+ ','; $('#question{QID} input[type="text"]').val(anumbers); $('#question{QID}').hide(); }); </script>
{sum(G01Q06_SQ001.NAOK, G01Q06_SQ002.NAOK, ...}
{sum(self.NAOK)}
<p>Some question text...</p> <p>You have spent <b><span class="points-count">0</span></b> points of 150 available</p> <script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); // Listener on the radio buttons $('input:radio', thisQuestion).on('click', function(e) { var points = 0; $('tr.answers-list:visible input:radio:checked', thisQuestion).each(function(i) { points = points + Number($(this).val()); }); $('span.points-count', thisQuestion).text(points); }); }); </script>
<script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); var btSubmit = document.getElementById('ls-button-submit'); // Listener on the radio buttons $('input:radio', thisQuestion).on('click', function(e) { var points = 0; $('tr.answers-list:visible input:radio:checked', thisQuestion).each(function(i) { points = points + Number($(this).val()); }); $('span.points-count', thisQuestion).text(points); if (points > 50) { btSubmit.disabled = true; } else { btSubmit.disabled = false; } }); }); </script>
control1 <= 50
<p>{if(control1 <= 50, 'You may use up to 50 points', '<span class="text-danger">Warning, you must not exceed 50 points!</span>')}</p> <script type="text/javascript" charset="utf-8"> $(document).on('ready pjax:scriptcomplete',function(){ var thisQuestion = $('#question{QID}'); var arrayQuestion = $(thisQuestion).prevAll('.question-container:eq(0)'); // Listener on the radio buttons $('input:radio', arrayQuestion).on('click', function(e) { var points = 0; $('tr.answers-list:visible input:radio:checked', arrayQuestion).each(function(i) { points = points + Number($(this).val()); }); $('input:text', thisQuestion).val(points).trigger('change'); }); // Hide some elements $('.question-valid-container, .answer-container', thisQuestion).hide(); }); </script>