2017-12-15 12 views
0

면책 조항 : 저는 Javascript에 익숙하지 않습니다. 스택 오버플로 및 기타 리소스에서이 작업을 수행하기 위해 수행해야하는 작업에 대한 기본적인 이해를 간단히 요약했습니다. 아래 사항이 불분명하면 사과드립니다.자바 스크립트를 사용하여 Qualtrics에서 설문 조사간에 반복되지 않는 난수 생성

문제점 : Qualtrics 설문 조사 응답 사이에 반복되지 않는 Javascript를 사용하여 0에서 8,764 사이의 임의의 숫자를 생성해야합니다.

현재 0에서 8,764 사이의 모든 숫자를 포함하는 배열을 만들고 배열을 임의로 뒤집어 배열 끝에서 마지막 번호를 팝하는 코드를 발견했습니다. 그런 다음 해당 숫자가있는 Qualtrics에 포함 된 데이터를 추가하고, 묻은 데이터를 Qualtrics 질문으로 파이프하여 설문 조사 응답자에게 표시 할 수 있습니다. 아래를 참조

Qualtrics.SurveyEngine.addOnReady(function() 
{ 

for (var i = 0, ar = []; i < 8; i++) { 
ar[i] = i; 
} 

ar.sort(function() { 
    return Math.random() - 0.5; 
}); 

var randomnumber = ar.pop(); 

Qualtrics.SurveyEngine.addEmbeddedData("randomnumber", randomnumber); 

}); 

그러나, 지금까지의 내가 다시 만들고 배열에 새로운 응답자가 설문 조사를 입력 할 때마다 다시 셔플 것입니다 의미 설문 조사 응답 사이,이 자바 스크립트 코드 "재설정"자체를 말할 수있는 . 새로운 응답자가 이전 응답자와 동일한 "임의 번호"를 볼 수 없도록 방법을 찾고 싶습니다. 따라서 첫 번째 설문 응답자가 1을 보았을 때 다음 설문 응답자는 1을 제외한 다른 숫자를 볼 수 있습니다 (대신에 100을 보자). 다음 응답자는 1 또는 100 등을 제외한 모든 숫자를 볼 수 있습니다.

자바 스크립트 코드에 포함 된 데이터를 사용하고 조작하는 것이 가능하다고 생각합니다. (see here). random number embedded 데이터에 액세스하고 이전에 팝 된 임의 번호 중 하나와 일치하는 배열의 숫자를 제거하지 않기 위해 Javascript 코드를 작성하는 방법이있는 것 같습니다. 작업을 수행하는 가장 좋은 방법이라면, 이것을 실행하기위한 기술적 지식이 부족합니다.

모든 도움을 주셨습니다.

+3

이 경우 응용 프로그램 서버가 필요합니다. 어떤 프로그래밍 언어를 사용하고 있습니까 (PHP? nodejs? Java? ...) – trincot

+0

불행히도 프로그래머가 아니기 때문에 애플리케이션 서버가 무엇인지 잘 모르겠습니다. 내가 갖고 있지 않다고 가정. 명확히 말하면, 내가 지금까지 가지고있는 Qualtrics/Javascript 기능을 사용하여 이것을 수행 할 방법이 없다는 것을 의미합니까? – melimoo

+0

Qualtrics는 모르지만 서버 기반 서비스이므로 제공하는 기능을 사용해야합니다. JavaScript를 사용하여 여러 세션에서 상태를 유지할 수는 없습니다. 임의의 숫자가 생성 된 것과 같은 응용 프로그램 전반의 정보는 서버에서 관리해야합니다. JavaScript는 서버가 아닌 사용자의 PC에서 실행됩니다. Qualtrics가 이러한 사용자 정의 정보를 저장하는 기능이 없다면 할 수있는 일이 많지 않습니다. 언뜻보기에는 설명서에 이러한 기능이 언급되어 있지 않습니다. – trincot

답변

0

Qualtrics에서 고급 무작위 화를 통해 원하는 것을 할 수 있습니다.

선택 사항으로 숫자 0에서 8,764까지의 객관식 질문을 설정하십시오. 그런 다음 고급 무작위 화를 사용하여 모든 숫자에서 1의 무작위 하위 집합을 선택하고 "균등 존재"를 클릭합니다 (균등 존재는 모든 숫자를 재사용하기 전에 Qualtrics에 사용하는 것입니다). JavaScript를 사용하여 객관식 질문을 숨기십시오.

$(this.questionId).hide(); 

이제 고유 한 임의의 숫자를 다음 질문에 파이프 할 수 있습니다. 예 :

${q://QID1/ChoiceGroup/DisplayedChoices} 
+0

이것은 우수합니다. 나는 Qualtrics에서 당신이 무작위로 선택할 수 있다는 것을 몰랐다. 나는 그것을 생각해야만했다. 정말 고맙습니다! – melimoo