Hi,
if I am right, you can do this by:
1. Insert a question of type "short text" with the following javascript snippet.
Code:
<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 arr = ["01","02","03","04","05","06","07","08","09",10,11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,35,36,38,39,40];
arr = shuffle(arr);
anumbers = arr.slice(0,30).join('');
$('#question{QID} input[type="text"]').val(anumbers);
// $('#question{QID}').hide();
});
</script>
In your real survey this question has to be hidden; so uncomment this line
// $('#question{QID}').hide();
2.a. To rank you may use a question of type array with the three answer options ("Highest", "Middle", "Lowest")
Don't forget to include a question validation equation
unique(self) and a validation tip.
As subquestions insert your images like
1. question
<img src="/limesurvey/upload/surveys/123456/images/Boat{substr(Q0,0,2)}.jpg" />
<img src="/limesurvey/upload/surveys/123456/images/Boat{substr(Q0,2,2)}.jpg" />
<img src="/limesurvey/upload/surveys/123456/images/Boat{substr(Q0,4,2)}.jpg" />
2. question
<img src="/limesurvey/upload/surveys/123456/images/Boat{substr(Q0,6,2)}.jpg" />
<img src="/limesurvey/upload/surveys/123456/images/Boat{substr(Q0,8,2)}.jpg" />
<img src="/limesurvey/upload/surveys/123456/images/Boat{substr(Q0,10,2)}.jpg" />
You see you capture the first, second, third,... two-character substring out of your first question.
And as you see, my images are called "Boat01.jpg", "Boat02.jpg",...,"Boat40.jpg".
2.b. Of course you may use a question of type ranking.
In my opinion this is not the best solution if the survey is taken on smartphones.
Here an example with both options.
Joffm