Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
  • Seite:
  • 1
  • 2

THEMA: randomly assign participants to groups

randomly assign participants to groups 1 Jahr 7 Monate her #94040

  • jvandernoll
  • jvandernolls Avatar
  • OFFLINE
  • Fresh Lemon
  • Beiträge: 12
  • Karma: 0
Hi,
I try to create something that will assign participants randomly to one of 4 groups, but I don't get it to work.

I work with LS 1.91, so I cannot add "question type equation". I have found some solutions, but I run into problems, so I think I make a mistake somewhere.

The following script I adjusted from another forum post (which can be found here www.limesurvey.org/en/forum/can-i-do-thi...-the-others?start=10)

<script type="text/javascript">
<!--
$(document).ready(function()
{
// Find a random number between 1 and 4
var randNumber = Math.floor(Math.random()*3 + 1);
$('input#answer96682X129523X1961293').val(randNumber);
checkconditions(randNumber,'96682X129523X1961293','text');
})
//-->
</script>

where 96682 is Survey ID, 129523 is Group ID, 1961293 is Question ID)

In the next question group I created 4 questions, and depending on the random "answer" participants would get one of the 4 questions (by adding the condition "answer to 'random' question equals 1" --> question 1; "...equals 2" --> question 2, etc.). This seems to work.

When I try to hide this question, however, it does no longer work (the question is hidden, but the questions following this question are not shown either).

Also, if I have 4 groups, is the "Math.floor(Math.random()*3 + 1)" correct, or should it be "Math.floor(Math.random()*4 + 1)" (as is shown in the link below). And are the random numbers obtained than 1 2 3 and 4 or 0 1 2 and 3? I have tested the above solution a number of times, but only got 1 2 or 3 as a response. Not sure if that is just coincidence, or that I actually only create those 3 numbers.

This is another solution that I found, but it did not work for me:
docs.limesurvey.org/tiki-index.php?page=...rol_survey_behaviour

I hope someone can help!
Many thanks in advance!
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 1 Jahr 7 Monate her #94058

  • DenisChenu
  • DenisChenus Avatar
  • OFFLINE
  • Moderator Lime
  • Beiträge: 6429
  • Dank erhalten: 840
  • Karma: 249
Hello,

With 2.0 (or 1.92), you can use directly:
{rand(1,4)} in an equation question type.

Denis
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 1 Jahr 7 Monate her #94060

  • jvandernoll
  • jvandernolls Avatar
  • OFFLINE
  • Fresh Lemon
  • Beiträge: 12
  • Karma: 0
Thanks Denis,
Unfortunately, I work (via university server) with version 1.91, and don't have that option.
Any thoughts on how to solve this in 1.91?

Jolanda
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 1 Jahr 7 Monate her #94079

  • tpartner
  • tpartners Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 4270
  • Dank erhalten: 804
  • Karma: 368
When I try to hide this question, however, it does no longer work...
You cannot hide the question with the advanced question setting, You need to hide it with JavaScript:
$('#question96682X129523X1961293').hide();
or with CSS
#question96682X129523X1961293 { display: none; }

Also, if I have 4 groups, is the "Math.floor(Math.random()*3 + 1)" correct, or should it be "Math.floor(Math.random()*4 + 1)"...
To get a random number between 1 and 4, use
Math.floor(Math.random()*4)+1
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 1 Jahr 7 Monate her #94081

  • jvandernoll
  • jvandernolls Avatar
  • OFFLINE
  • Fresh Lemon
  • Beiträge: 12
  • Karma: 0
Thanks Tony!
I included the code for hiding the question in my javascript source, but it keeps showing the question...? Do you see the mistake in the code?

The source code that I have now is:
<script type="text/javascript">
<!--
$(document).ready(function()
{
// Find a random number between 1 and 4
var randNumber = Math.floor(Math.random()*4 + 1);
$('input#answer96682X129523X1961293').val(randNumber);
checkconditions(randNumber,'96682X129523X1961293','text');
$('#question96682X129523X1961293').hide();
})
//-->
</script>

Thanks!
Jolanda.
Letzte Änderung: 1 Jahr 7 Monate her von DenisChenu. Begründung: [code type=javascript]
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 1 Jahr 7 Monate her #94086

  • DenisChenu
  • DenisChenus Avatar
  • OFFLINE
  • Moderator Lime
  • Beiträge: 6429
  • Dank erhalten: 840
  • Karma: 249
Thinks it's $('#question96682').hide(); :)
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 1 Jahr 7 Monate her #94088

  • jvandernoll
  • jvandernolls Avatar
  • OFFLINE
  • Fresh Lemon
  • Beiträge: 12
  • Karma: 0
Yes! That works, great!!
It still shows the page of the question, but if I add this question to another group, people won't notice.

Thanks!
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 1 Jahr 7 Monate her #94089

  • tpartner
  • tpartners Avatar
  • OFFLINE
  • LimeSurvey Team
  • Beiträge: 4270
  • Dank erhalten: 804
  • Karma: 368
Oops, sorry, moving too fast...

I think it should be :
$('#question1961293').hide();

Or CSS:
#question1961293 { display: none; }


(Assuming the question ID is 1961293)
Cheers,
Tony Partner

Solutions, code and workarounds presented in these forums are given without any warranty, implied or otherwise.

LimeSurvey is open-source and run entirely by volunteers so please consider donating to support the project.
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Folgende Benutzer bedankten sich: DenisChenu, jvandernoll

randomly assign participants to groups 1 Jahr 1 Woche her #100605

  • jvandernoll
  • jvandernolls Avatar
  • OFFLINE
  • Fresh Lemon
  • Beiträge: 12
  • Karma: 0
Hi again,
following my earlier question - Now try to do the same with three conditional groups. I adjusted the code I used before (see below) to this:

<script type="text/javascript">
<!--
$(document).ready(function()
{
// Find a random number between 1 and 3
var randNumber = Math.floor(Math.random()*3 + 1);
$('input#answer96682X129523X1961293').val(randNumber);
checkconditions(randNumber,'96682X129523X1961293','text');
$('#question96682X129523X1961293').hide();
})
//-->
</script>

but this does not work. Can you spot the mistake?

Many thanks!
Der Administrator hat öffentliche Schreibrechte deaktiviert.

randomly assign participants to groups 11 Monate 2 Wochen her #101344

  • cecilia
  • cecilias Avatar
  • OFFLINE
  • Fresh Lemon
  • Beiträge: 1
  • Karma: 0
Please, could you send me a copy of a survey applying the discussed function? I have access to LS 1.91+ from my University. I have changed the js template but I cannot use the question with the random number in conditional format. Thanks!
Der Administrator hat öffentliche Schreibrechte deaktiviert.
  • Seite:
  • 1
  • 2
Moderatoren: ITEd
Ladezeit der Seite: 0.167 Sekunden
Donation Image