Hi,
put a question "QSelect" of type "short text" somewhere in your first group.
Enter this script (source code mode)
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 arr1 =["A","B","C","D","E","F","G","H"];
arr1 = shuffle(arr1);
var arr2 =["1","2","3","4","5","6","7","8"];
arr2 = shuffle(arr2);
anumbers = '#' + arr1.slice(0,2).join(',')+ ',' + arr2.slice(0,2).join(',');
$('#question{QID} input[type="text"]').val(anumbers).trigger('keyup');
// $('#question{QID}').hide();
});
</script>
Let the 8 characters symbolize the first 8 (random) groups, the numbers the second.
You will get something like "#F,C,4,7"
Now give the first group of 8 groups the same "randomization group name", the second group of 8 groups a different one.
Now the relenance equation of your groups is:
1. of first 8: strpos(QSelect,"A")>0
2. of first 8: strpos(QSelect,"B")>0
3. of first 8: strpos(QSelect,"C")>0
...
1. of second 8: strpos(QSelect,"1")>0
2. of second 8: strpos(QSelect,"2")>0
...
Dont't forget to hide the question "QSelect" after testing by uncommenting this line
// $('#question{QID}').hide();
As I wrote before you can dio this without javascript unsing the "gseq" function.
As "gseq" gives you the sequentional number of displayed groups you may enter a group relevance equation like
Q1.gseq<4, where Q1 is a question in this group.
Example later.
Joffm