Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-如何将事件侦听器中的元素值与数组元素进行比较?_Javascript_Html_Addeventlistener - Fatal编程技术网

Javascript-如何将事件侦听器中的元素值与数组元素进行比较?

Javascript-如何将事件侦听器中的元素值与数组元素进行比较?,javascript,html,addeventlistener,Javascript,Html,Addeventlistener,再一次,我需要您对我现在遇到的问题提供意见。 我正在创建一个MCQ琐事,在这里我遇到了一个逻辑问题 虽然在本例中,我特意将答案设置为B、C或D,但结果div将始终显示结果是正确的–尽管我只在按钮A上设置了一个事件侦听器,但没有答案 根据下面的代码,我是否正确地比较了元素值和数组答案值 var检查=[{ “问题”:“Q1?”, “期权”:[“A”、“B”、“C”、“D”], 回答:“B” },{ “问题”:“Q2?”, “期权”:[“A”、“B”、“C”、“D”], “答复”:“C” },{ “

再一次,我需要您对我现在遇到的问题提供意见。
我正在创建一个MCQ琐事,在这里我遇到了一个逻辑问题

虽然在本例中,我特意将答案设置为B、C或D,但结果
div
将始终显示结果是正确的–尽管我只在按钮A上设置了一个事件侦听器,但没有答案

根据下面的代码,我是否正确地比较了元素值和数组答案值

var检查=[{
“问题”:“Q1?”,
“期权”:[“A”、“B”、“C”、“D”],
回答:“B”
},{
“问题”:“Q2?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“C”
},{
“问题”:“第三季度?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“D”
},{
“问题”:“第四季度?”,
“期权”:[“A”、“B”、“C”、“D”],
回答:“B”
},{
“问题”:“问题5?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“C”
}]
//dom选择器
var container=document.getElementById('container');
var questionEl=document.getElementById('question');
//用于显示答案
var opt1=document.getElementById('opt1');
var opt2=document.getElementById('opt2');
var opt3=document.getElementById('opt3');
var opt4=document.getElementById('opt4');
//对于输入按钮,单击
var opta=document.getElementById('opta');
var optb=document.getElementById('optb');
var optc=document.getElementById('optc');
var optd=document.getElementById('optd');
//
var button=document.querySelectorAll('button');
var nextButton=document.getElementById('help1Button');
var resultCont=document.getElementById('result');
//显示问答
函数displayQues(){
//从测验数组中随机选择一个问题
var i=Math.floor(Math.random()*exam.length);
questionEl.textContent=考试[i]。问题;
opt1.textContent=exam[i]。选项[0];
opt2.textContent=exam[i]。选项[1];
opt3.textContent=exam[i]。选项[2];
opt4.textContent=exam[i]。选项[3];
};
//当页面加载时加载此文件
displayQues();
opta.addEventListener(“单击”,函数(){
if(opt1.value==检查答案){
displayQues();
resultCont.textContent=“正确!”;
}否则{
resultCont.textContent=“不正确!”;
}
});

高志伟试题
A:
B:
C:
D:

当前代码的问题是
opt1.value==exam.answer
。这两个属性都未定义
opt1.value
因为它没有设置(我相信您想要
opt1.textContent
)和
exam.answer
因为
exam
是一个数组。你说得对!始终因为
undefined===undefined
true

您的问题可以通过返回当前显示的问题并将其用于比较来解决

var检查=[{
“问题”:“Q1?”,
“期权”:[“A”、“B”、“C”、“D”],
回答:“B”
}, {
“问题”:“Q2?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“C”
}, {
“问题”:“第三季度?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“D”
}, {
“问题”:“第四季度?”,
“期权”:[“A”、“B”、“C”、“D”],
回答:“B”
}, {
“问题”:“问题5?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“C”
}]
//
//dom选择器
var container=document.getElementById('container');
var questionEl=document.getElementById('question');
//用于显示答案
var opt1=document.getElementById('opt1');
var opt2=document.getElementById('opt2');
var opt3=document.getElementById('opt3');
var opt4=document.getElementById('opt4');
//对于输入按钮,单击
var opta=document.getElementById('opta');
var optb=document.getElementById('optb');
var optc=document.getElementById('optc');
var optd=document.getElementById('optd');
//
var button=document.querySelectorAll('button');
//
var nextButton=document.getElementById('help1Button');
var resultCont=document.getElementById('result');
//显示问答
函数displayQues(){
//从测验数组中随机选择一个问题
var i=Math.floor(Math.random()*exam.length);
questionEl.textContent=考试[i]。问题;
opt1.textContent=exam[i]。选项[0];
opt2.textContent=exam[i]。选项[1];
opt3.textContent=exam[i]。选项[2];
opt4.textContent=exam[i]。选项[3];
返回检查[i];//返回所选的检查变量
};
//当页面加载时加载此文件
var currentExam=displayQues();//存储所选的考试
opta.addEventListener(“单击”,函数(){
if(opt1.textContent==currentExam.answer){
currentExam=displayQues();//存储新问题
resultCont.textContent=“正确!”;
}否则{
resultCont.textContent=“不正确!”;
}
});

高志伟试题
A:
B:
C:
D:

当前代码的问题是
opt1.value==exam.answer
。这两个属性都未定义
opt1.value
因为它没有设置(我相信您想要
opt1.textContent
)和
exam.answer
因为
exam
是一个数组。你说得对!始终因为
undefined===undefined
true

您的问题可以通过返回当前显示的问题并将其用于比较来解决

var检查=[{
“问题”:“Q1?”,
“期权”:[“A”、“B”、“C”、“D”],
回答:“B”
}, {
“问题”:“Q2?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“C”
}, {
“问题”:“第三季度?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“D”
}, {
“问题”:“第四季度?”,
“期权”:[“A”、“B”、“C”、“D”],
回答:“B”
}, {
“问题”:“问题5?”,
“期权”:[“A”、“B”、“C”、“D”],
“答复”:“C”
}]
//
//dom选择器
var container=document.getElementById('container');
var questionEl=document.getElementById('question');
//用于显示答案
var opt1=document.getElementById('opt1');
var opt2=document.getElementById('opt2');
var opt3=document.getElementById('opt3');
var opt4=document.getElementById('opt4');