问题描述
以下是使用surveyjs 构建一个带有4 个选项的问题的调查的JSON,每个选项都有一个值(分数)。
此处的工作示例: https://embed.plnkr.co/20U6sdQpOiTxd5ps83dT/
以下是必需的:
A. 我需要在这里回答多个问题 (25)。现在只有 1 个。
B.如果您回答了 4 个或更多问题“未知”,从总分中减去 20 分。
C. 基于分数的结果(基于文本): 75-100 总分:不需要我们的服务
50-75 总分:您需要评估
总分 50:需要我们的服务
这里是 JSON 代码:
Survey
.StylesManager
.applyTheme("default");
Survey
.JsonObject
.MetaData
.addProperty("question",{name: "score:number"});
Survey.JsonObject.MetaData.addProperty("itemvalue",{name: "score:number"});
var json = {
questions: [
{
"type": "boolean","name": "myboolean","label": "ten","score": 10
},{
type: "radiogroup",name: "myradiogroup",title: "Do you have multiple business applications in use by your varIoUs departments in the daily operation of the company?",colCount: 4,choices: [
{
value: "Yes",score: 4
},{
value: "No",{
value: "UnkNown",score: 0
},{
value: "NA",score: 0
}
]
}
]
};
window.survey = new Survey.Model(json);
survey
.onComplete
.add(function (survey) {
var totalscore = 0;
var data = survey.data;
Object.keys(data).forEach(function(qName) {
var question = survey.getQuestionByName(qName);
var qValue = data[qName];
if (question.choices) {
question.choices.forEach(function(choice) {
if (choice.value === qValue) {
totalscore += +choice.score;
}
});
} else {
totalscore += +question.score;
}
});
document
.querySelector('#surveyResult')
.innerHTML = "total score: " + JSON.stringify(totalscore);
});
$("#surveyElement").Survey({model: survey});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)