Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays_Compare - Fatal编程技术网

Javascript 将应答键数组与输入应答进行比较

Javascript 将应答键数组与输入应答进行比较,javascript,arrays,compare,Javascript,Arrays,Compare,这是我第一天使用HTML/Javascript。我刚才做了一些Java。我试着做一个小测验,从下拉列表中得到答案,并与答案键进行比较。我试过很多东西,都记不起来了。任何帮助都将不胜感激。具体来说,我不知道如何比较两个数组中的每个元素。我敢肯定,除了数组之外,还有很多错误。我我在谷歌上搜索了4个小时,结果一无所获。以下是我目前的代码: <!DOCTYPE html> <html> <head> <title>Page Title</title&

这是我第一天使用HTML/Javascript。我刚才做了一些Java。我试着做一个小测验,从下拉列表中得到答案,并与答案键进行比较。我试过很多东西,都记不起来了。任何帮助都将不胜感激。具体来说,我不知道如何比较两个数组中的每个元素。我敢肯定,除了数组之外,还有很多错误。我我在谷歌上搜索了4个小时,结果一无所获。以下是我目前的代码:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>

<h1>Critical Device Test</h1>
<p>Please match the letter to the corresponding answer.<p>

<br>
<br>

<img src="https://i.imgur.com/kDHijRv.jpg" alt="Proton Source CD's" width = 300 height = 200>
<br>
<label for="Q1">A:</label>
<select id="Q1" class="Q">
  <option value="0">SELECT</option>
  <option value="1">L:CRDEV</option>
  <option value="2">L:CDC</option>
  <option value="3">L:LINCDC</option>
  <option value="4">L:LINAC</option>
</select>
<br>
<label for="Q2">B:</label>
<select id="Q2" class="Q">
  <option value="0">SELECT</option>
  <option value="1">n1</option>
  <option value="2">n2</option>
  <option value="3">n3</option>
  <option value="4">n4</option>
</select>
<br>
<label for="Q3">C:</label>
<select id="Q3" class="Q">
  <option value="0">SELECT</option>
  <option value="1">e1</option>
  <option value="2">e2</option>
  <option value="3">e3</option>
  <option value="4">e4</option>
</select>

<br>
<br>

<button onclick="myFunc()">Click me</button>

<script>
var q1 = document.getElementById("Q1");
var valueQ1=q1.options[q1.selectedIndex].value
var q2 = document.getElementById("Q2");
var valueQ2=q2.options[q2.selectedIndex].value
var q3 = document.getElementById("Q3");
var valueQ3=q3.options[q3.selectedIndex].value

var array ans = [1,2,3]
var array inpans = [valueQ1,valueQ2,valueQ3]
var counter = 0;
var count = 0;

function myFunc(){
    while (count<ans.length){
    if(ans[count]==inpans[count])
    {
        counter ++;
        count ++;
    }else {
        counter = counter;
        count ++,
        }
}
    document.getElementById("one").innerHTML = "You got " + counter + " right.";
}

</script>
<p id="one"></p>
</body>
</html>

页面标题
关键设备测试
请将这封信与相应的答案匹配。



A: 挑选 L:CRDEV L:CDC L:林科 L:直线加速器
B: 挑选 n1 氮气 n3 n4
C: 挑选 e1 e2 e3 e4

点击我 var q1=document.getElementById(“q1”); var valueQ1=q1.选项[q1.selectedIndex].值 var q2=document.getElementById(“q2”); 变量值q2=q2。选项[q2.selectedIndex]。值 var q3=document.getElementById(“q3”); 变量值q3=q3.选项[q3.selectedIndex].值 变量数组ans=[1,2,3] 变量数组inpans=[valueQ1、valueQ2、valueQ3] var计数器=0; var计数=0; 函数myFunc(){
虽然(count您有许多问题需要解决:

  • 您的HTML无效。您没有关闭第11行的
    标记:

    <p>Please match the letter to the corresponding answer.</p> <!-- <-- close this -->
    
  • 第70行出现另一个语法错误。此处使用的是逗号而不是分号。同样,控制台可以帮助您自己识别此错误:

    count++; // used to be: count++,
    
  • 下一个问题是逻辑问题。加载页面时将运行以下代码:

    var q1 = document.getElementById("Q1");
    var valueQ1 = q1.options[q1.selectedIndex].value
    var q2 = document.getElementById("Q2");
    var valueQ2 = q2.options[q2.selectedIndex].value
    var q3 = document.getElementById("Q3");
    var valueQ3 = q3.options[q3.selectedIndex].value
    
    …当页面最初加载时运行,
    valueQ1
    等的值都将是页面最初加载时下拉列表的初始值。当您更改下拉列表中的选定值时,这些值不会改变。如果您想要这种行为,您需要一个事件侦听器。但是,一种简单的修复方法这是为了在函数中设置
    valueQ1
    valueQ3
    的值。这样,当您单击按钮时,代码将从下拉列表中获取值,这应该是在用户从下拉列表中手动选择值之后:

    var q1 = document.getElementById("Q1");
    var q2 = document.getElementById("Q2");
    var q3 = document.getElementById("Q3");
    ...
    function myFunc() {
      // get value of dropdown elements
      var valueQ1 = q1.value; // you can just grab the dropdown's value, no need for `q1.options[q1.selectedIndex].value`
      var valueQ2 = q2.value;
      var valueQ3 = q3.value;
      var inpans = [valueQ1, valueQ2, valueQ3];
      while (count < ans.length) {
      ...
    

    您有许多问题需要解决:

  • 您的HTML无效。您没有关闭第11行的
    标记:

    <p>Please match the letter to the corresponding answer.</p> <!-- <-- close this -->
    
  • 第70行出现另一个语法错误。此处使用的是逗号而不是分号。同样,控制台可以帮助您自己识别此错误:

    count++; // used to be: count++,
    
  • 下一个问题是逻辑问题。加载页面时将运行以下代码:

    var q1 = document.getElementById("Q1");
    var valueQ1 = q1.options[q1.selectedIndex].value
    var q2 = document.getElementById("Q2");
    var valueQ2 = q2.options[q2.selectedIndex].value
    var q3 = document.getElementById("Q3");
    var valueQ3 = q3.options[q3.selectedIndex].value
    
    …当页面最初加载时运行,
    valueQ1
    等的值都将是页面最初加载时下拉列表的初始值。当您更改下拉列表中的选定值时,这些值不会改变。如果您想要这种行为,您需要一个事件侦听器。但是,一种简单的修复方法这是为了在函数中设置
    valueQ1
    valueQ3
    的值。这样,当您单击按钮时,代码将从下拉列表中获取值,这应该是在用户从下拉列表中手动选择值之后:

    var q1 = document.getElementById("Q1");
    var q2 = document.getElementById("Q2");
    var q3 = document.getElementById("Q3");
    ...
    function myFunc() {
      // get value of dropdown elements
      var valueQ1 = q1.value; // you can just grab the dropdown's value, no need for `q1.options[q1.selectedIndex].value`
      var valueQ2 = q2.value;
      var valueQ3 = q3.value;
      var inpans = [valueQ1, valueQ2, valueQ3];
      while (count < ans.length) {
      ...
    

    好的,非常感谢!我看了太久了,我犯了一些愚蠢的错误。几年前,我刚刚上了一些Java入门课程,现在正试图重新开始编写代码,所以这真的很有帮助,让你这样安排。我肯定很快会回来问更多的问题。好的,非常感谢!我看了太久了,我犯了一些错误我犯了很多错误。几年前,我刚刚上了一些Java入门课程,现在我正试图重新开始编写代码,所以这确实有助于你这样安排它。我相信我很快会带着更多的问题回来。