求版主,showbo进,解决一下问题

chinashiji 2017-06-11 04:04:46

我上个帖子,你回复的,http://bbs.csdn.net/topics/392174090

今天测试,单选都没问题,随便选就正确的,但是多选出错

多选的代码是
answer":"1/3","

如果用methods:{check:function(){this.option.tag= this.answer;this.correct||this.incorrect||
答案还是错误的

求版主解决一下吧
...全文
199 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
当作看不见 2017-06-12
  • 打赏
  • 举报
回复
引用 10 楼 showbo 的回复:
强势围观一下BoBo
Go 旅城通票 2017-06-12
  • 打赏
  • 举报
回复
引用 9 楼 chinashiji 的回复:
版主老大,我把你上面的if(ture)改成if(1==1),
然后下面的this.datas.question.answer,赋值给一个变量,最后把t改成变量,可以啦

但是,还有个不对,当题目变成这样,也是单选的时候,答案还是错的


研究半天,不知道这种到底在哪里判断的,老大能看看吗

还有,我发现可能有更简单办法
进入答题后,会出来一个js文件,名字是app.xxxxxx.js
格式化后,在2651行,有个function(data, textStatus, xhr)
我在下面加了个,function(data, textStatus, xhr) {
alert(data.question.answer);
这个弹出的,就是这个题目的正确答案
然后在2587行,有个POST,下面有个
userId: localStorage.sbox_userid || 0,
answer: ans,
这个ans,就是提交的答案
我的想法是,吧这个data.question.answer,怎么能设置一个全局变量,然后赋值给这个ans,这样就简单解决问题了吧

我只会想,不知道该怎么实现,哎,小白可拉啊

版主,求教,怎么解决这个问题

额,现在每月领导给我出好几个难题,以后很多问题要靠版主了,我每月工资就3000多,我愿意版主帮我解决一个,就给一次红包,别太黑啊,我可怜啊

app.xxxx.js那个是通用类库,应该不需要修改那个,逻辑验证是
两位数字.xxxxxx.js那个动态加载的js文件,就是之前让你改的那个文件。

你最好把有多选题目的地址发出来我这边好调试,要不不懂验证函数是那个,都是压缩过的代码。

那种图片单选形式的应该也没有问题的,只是显示不一样而已,一个图片,一个是button


按照你那个修改你可以这样做
function(data, textStatus, xhr) {
window.qan=data.question.answer
alert(data.question.answer);
------------------------------------------------------------------------------------------
userId: localStorage.sbox_userid || 0,
answer: window.qan,
chinashiji 2017-06-12
  • 打赏
  • 举报
回复
版主老大,我把你上面的if(ture)改成if(1==1),
然后下面的this.datas.question.answer,赋值给一个变量,最后把t改成变量,可以啦

但是,还有个不对,当题目变成这样,也是单选的时候,答案还是错的


研究半天,不知道这种到底在哪里判断的,老大能看看吗

还有,我发现可能有更简单办法
进入答题后,会出来一个js文件,名字是app.xxxxxx.js
格式化后,在2651行,有个function(data, textStatus, xhr)
我在下面加了个,function(data, textStatus, xhr) {
alert(data.question.answer);
这个弹出的,就是这个题目的正确答案
然后在2587行,有个POST,下面有个
userId: localStorage.sbox_userid || 0,
answer: ans,
这个ans,就是提交的答案
我的想法是,吧这个data.question.answer,怎么能设置一个全局变量,然后赋值给这个ans,这样就简单解决问题了吧

我只会想,不知道该怎么实现,哎,小白可拉啊

版主,求教,怎么解决这个问题

额,现在每月领导给我出好几个难题,以后很多问题要靠版主了,我每月工资就3000多,我愿意版主帮我解决一个,就给一次红包,别太黑啊,我可怜啊


chinashiji 2017-06-12
  • 打赏
  • 举报
回复
也就是,现在这样改了后,多选点提交,提交不了,等5秒钟自己提交就是等于你什么都没选择
chinashiji 2017-06-12
  • 打赏
  • 举报
回复


版主,还是有点问题,按你代码改了,现在多选的话,随便点什么,都显示绿的,意思就是判断对了

但是点提交后,提交不了,等几秒后时间到了系统自己提交,提交后的ans,显示是0,也就是说没提交正确答案

虽然还不对,但版主的回答已经越来越接近正确了
求救啊
Go 旅城通票 2017-06-11
  • 打赏
  • 举报
回复
看了下多选应该是格式化后214左右
check: function() {
var e = this;
if (!this.correct && !this.incorrect) {
var t = this.choices;
if (t.sort(),
t = t.join("/"),
5 == this.datas.question.pattern || t == this.datas.question.answer
)
this.incorrect = !1,
this.correct = !0,
setTimeout(function() {
e.$dispatch("right-answer", t)
}, 500);
else {
var o = 500
改成这样试试,注意红色的
check: function() {
var e = this;
if (!this.correct && !this.incorrect) {
var t = this.choices;
if (true)
this.incorrect = !1,
this.correct = !0,
setTimeout(function() {
e.$dispatch("right-answer", this.datas.question.answer)
}, 500);
else {
var o = 500
Go 旅城通票 2017-06-11
  • 打赏
  • 举报
回复
引用 4 楼 chinashiji 的回复:
楼主,我感觉还是应该改你以前说的JS文件,在你加了代码下面一点,有一个特 ?this.$dispatch("right",this.option.tag) 你单选加了this.option.tag= this.answer;后,单选都能自动选择对的 但是多选的话 最后提交的是,answer: ans,这里的ans还是一个,所以错误 单选的时候,问题里面的正确是,answer":"1","多选的时候变成,answer":"1/3","或者answer":"1/2/3/4"," 所以版主想一下吧,应该也就是一个小代码搞定的事
多选什么样子的?截图看下,最好是发有多选的网址看下。多选的话应该是要有按钮进行提交执行下一题,因为要选择多个答案,这个需要人工提交,之前单选是选择一个就自动提交了
chinashiji 2017-06-11
  • 打赏
  • 举报
回复
楼主,我感觉还是应该改你以前说的JS文件,在你加了代码下面一点,有一个特 ?this.$dispatch("right",this.option.tag) 你单选加了this.option.tag= this.answer;后,单选都能自动选择对的 但是多选的话 最后提交的是,answer: ans,这里的ans还是一个,所以错误 单选的时候,问题里面的正确是,answer":"1","多选的时候变成,answer":"1/3","或者answer":"1/2/3/4"," 所以版主想一下吧,应该也就是一个小代码搞定的事
chinashiji 2017-06-11
  • 打赏
  • 举报
回复
else if (2 == this.w_data.question.pattern) 这里就是多选的 if (3 != this.w_data.question.pattern) 这里是判断正确和错误的 单选和判断正确错误,都没问题,就是遇到多选后,有问题 我看的结果是,按你以前说的,回答后 提交的 ans,都是正确答案 但是如果多选,提交的 ans还是一个答案,所以错误 uccess") : (this.currentView = "fail", $.post("/service/explore/failureExplore", { userId: localStorage.sbox_userid || 0, answer: ans, answerStatus: correct, exploreId: this.exploreDetail.exploreId, 提交的代码还是这个JS里面这一段
chinashiji 2017-06-11
  • 打赏
  • 举报
回复
是没有多选,但JS里面有多选,现在题目里面有多选 app.b33f8fbb73ae232a0884.js 这个JS里面 "right-answer": function(t) { this.$broadcast("stop-cd"), 2 != this.boxInfo.config.showAnswerExplain && 3 != this.boxInfo.config.showAnswerExplain || !this.qConfig.answerExplain ? this.$emit("next-question", t, 1) : (this.correct = !0, this.ans = t, this.showExplain = !0) }, "wrong-answer": function(t) { if (this.$broadcast("stop-cd"), this.life--, 1 != this.boxInfo.config.showAnswerExplain && 2 != this.boxInfo.config.showAnswerExplain || !this.qConfig.answerExplain) if (3 == this.boxInfo.config.showAnswer) { if (this.answer = "", 1 == this.w_data.question.pattern || 7 == this.w_data.question.pattern) this.answer = this.w_data.question.answer; else if (2 == this.w_data.question.pattern) { for (var e = this.w_data.question.choiceList || [], i = 0; i < e.length; i++)(this.w_data.question.answer + "").indexOf(e[i].tag) >= 0 && (this.answer += e[i].content + "<br>"); this.answer = this.answer.substr(0, this.answer.length - 2) } else { if (3 != this.w_data.question.pattern) return void this.$emit("next-question", t, 0); "Y" == this.w_data.question.answer ? this.answer = "此题判断为 [正确] " : this.answer = "此题判断为 [错误] " } this.correct = !1, this.ans = t, this.showAnswer = !0
Go 旅城通票 2017-06-11
  • 打赏
  • 举报
回复
放一个多选题的地址来,你给的都是单选的,多选可能是其他验证函数

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧