2016-09-01 13 views
-1

を含む配列に基づいて、設定された選択肢の値を割り当てるための関数を作成する必要があります参加者が調査の早い段階で服用している複数の選択肢の質問から回答を入力します。私の変数 "Legchoice"はここにパイプされた値をとることに注意してください。しかし、複数の値がある可能性があるのは、回答者がその質問に対して複数の回答を選択することができるからです。私のスクリプトでは、「LegChoice」が与えられた数字と等しいかどうかを確認しています。 「レッグチョイス」には特定の番号が含まれています。回答者が値1 & 3に対応する回答を選択すると、選択肢4,5,6,7,8,9を設定できるようになります。または、2 & 4に対応する回答を選択するとどうなりますか?私はこれが理にかなってほしい。は私が事前JavaScriptを使用しようとしています</p> <p>...だから私と一緒に負担してください....私はJavaScriptに完全に新しいです与えられた数

ありがとうございました!

var LegChoice = "${q://QID23/SelectedChoicesRecode}"; 
var LegChoice = parseInt(LegChoice); 


    if (LegChoice==1) { 
    this.setChoiceValue(4,true); 
    this.setChoiceValue(5,true); 
    this.setChoiceValue(6,true); 
    this.setChoiceValue(7,true); 
} 

if (LegChoice== 2) { 
    this.setChoiceValue(4,true); 
    this.setChoiceValue(5,true); 
    this.setChoiceValue(6,true); 
    this.setChoiceValue(7,true); 
} 

if (LegChoice==3) { 
    this.setChoiceValue(6,true); 
    this.setChoiceValue(8,true); 
    this.setChoiceValue(9,true); 
} 

if (LegChoice == 4) { 
    this.setChoiceValue(1,true); 
    this.setChoiceValue(3,true); 
} 
+0

私はそれをフレーム化するより良い方法だと思う...パイプで入力された値が数値の配列である場合....どのようにLegchoiceが1のthen.setchoiceの値を含んでいるかのように私の変数を設定する... .. Legchoiceに1,2,3,4が含まれている場合... –

+0

Qualtricsはカンマ区切りの文字列として複数の回答を返すことに留意する価値があります。さらに、JavaとJavaScriptは非常に異なっています。 QualtricsはJavaを使用していません。 –

答えて

1

LegChoiceを別々の回答に分割してループスルーする必要があります。

var LegChoices = "${q://QID23/SelectedChoicesRecode}"; 
var that = this; 
LegChoices.split(",").each(function(LegChoice,index) { 
    var LegChoice = parseInt(LegChoice.trim()); 
    if (LegChoice==1) { 
     that.setChoiceValueByRecodeValue(4,true); 
     that.setChoiceValueByRecodeValue(5,true); 
     that.setChoiceValueByRecodeValue(6,true); 
     that.setChoiceValueByRecodeValue(7,true); 
    } 

    //etc... 

}); 

注:コード値をパイプしている場合は、コード値で設定する必要があります。

関連する問題