如何解决调查每个选项的数字分数和基于分数的自定义输出
以下是使用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 举报,一经查实,本站将立刻删除。