Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Eleccion de 10 numeros aleatorios entre 1 y 200

  • brodriguez
  • brodriguez's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
2 years 3 weeks ago #227025 by brodriguez
Buenos días, estoy tratando de generar 10 números aleatorios, y no he conseguido hacerlo sin que a veces se repitan. La idea es que después de tener los 10 números, poder traspasarlos a la variable MARCA
Adjunto lo que he hecho

Gracias y saludos! 

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Away
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 2 weeks ago #227032 by Joffm
Hola,
en una pregunta de tipo "Varios textos cortos" con 10 subpreguntas, agrega el siguiente script en modo código fuente
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 = [];
      for (var i = 1; i < 201; i++) {
         arr.push(i);
      }
 
      arr = shuffle(arr);
      $('#question{QID} input[type="text"]:eq(0)').val(arr[0]);
      $('#question{QID} input[type="text"]:eq(1)').val(arr[1]);
      $('#question{QID} input[type="text"]:eq(2)').val(arr[2]);
      $('#question{QID} input[type="text"]:eq(3)').val(arr[3]);
      $('#question{QID} input[type="text"]:eq(4)').val(arr[4]);
      $('#question{QID} input[type="text"]:eq(5)').val(arr[5]);
      $('#question{QID} input[type="text"]:eq(6)').val(arr[6]);
      $('#question{QID} input[type="text"]:eq(7)').val(arr[7]);
      $('#question{QID} input[type="text"]:eq(8)').val(arr[8]);
      $('#question{QID} input[type="text"]:eq(9)').val(arr[9]);
//      Elimina los "//" después de la prueba para esconder la pregunta.
//      $('#question{QID}').hide();
   });
</script>
 

 

File Attachment:

File Name: limesurvey... (1).lss
File Size:25 KB


Joffm

 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: holch

Please Log in to join the conversation.

  • brodriguez
  • brodriguez's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
2 years 2 weeks ago #227034 by brodriguez
Replied by brodriguez on topic Eleccion de 10 numeros aleatorios entre 1 y 200
Joffm era justo lo que necesitaba, Muchas gracias ....

Please Log in to join the conversation.

  • brodriguez
  • brodriguez's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
1 year 10 months ago #229468 by brodriguez
Replied by brodriguez on topic Eleccion de 10 numeros aleatorios entre 1 y 200
Es posible seleccionar en rangos, por ejemplo excluir algunos números, por ejemplo : 1 a 49, dejar fuera el 50, luego 51 a 200? ahora esta así:
for (var i = 1; i < 201

espero se pueda, muchas gracias

Please Log in to join the conversation.

Lime-years ahead

Online-surveys for every purse and purpose