我是JavaScript新手......所以请耐心等待......
我正在尝试使用JavaScript预先填充参与者在调查中早期提出的多项选择问题的答案。请注意,我的变量“Legchoice”将采用通过管道输入的值。但是,可以有多个值,因为受访者可以为要传输的问题选择多个答案。我知道我的脚本询问“LegChoice”是否等于给定的数字....我如何更改它“LegChoice”包含给定的数字。如果被访者选择对应于值1和1的答案,该怎么办? 3这样我就可以设置选择值4,5,6,7,8,9。或者如果他们选择对应于2& 4?我希望这是有道理的。
谢谢!
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 :(得分: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...
});
注意:如果要使用重新编码值进行管道传输,则需要按重新编码值设置。