因此,我在HTML和Javascript方面还很陌生。作为作业的一部分,我必须制作多个网页。
我的网页之一包含复选框,用户可以从中选择多个选项。

    <form method="get">
  <input type="checkbox" name="3 Point Scorer" id="skill">3 Point Scorer<br>
  <input type="checkbox" name="Defender" id="skill">Defender<br>
  <input type="checkbox" name="Rim Protector" id="skill">Rim Protector<br>
  <input type="checkbox" name="Attacker" id="skill">Attacker<br>

</form>


现在,如果用户选择了前两个选项,是否可以将这两个选项存储在我可以在下一页使用的变量中?另外,我想显示当前页面中选择的两个选项。

供参考,相关页面的代码如下:

<html>
  <head>
    <title>NBA Position Selection</title>

  </head>
<!--<style>
body {
  background-image: url('Img3.jpg');
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}
</style>
-->

  <body style="background-color:powderblue;">




    <h1>NBA Draft Prediction</h1>
<br>
      <a href="default.asp">
<img src="https://images.fineartamerica.com/images-medium-large-5/5-anatomy-of-a-basketball-player-sebastian-kaulitzkiscience-photo-library.jpg" alt="Daruis Garland" style="float:centre;width:300px;height:300px;" align="middle">
         </a>
<br>
<br>

<script>
window.onload = alert(localStorage.getItem("Variables"));
</script>


    <script>
function random()
{
var a=document.getElementById("Attribute").value;
document.getElementById("output").innerHTML=a;
}
</script>

<br>
<h2> Choose the required Skills</h2>

<form method="get">
  <input type="checkbox" name="3 Point Scorer" id="skill">3 Point Scorer<br>
  <input type="checkbox" name="Defender" id="skill">Defender<br>
  <input type="checkbox" name="Rim Protector" id="skill">Rim Protector<br>
  <input type="checkbox" name="Attacker" id="skill">Attacker<br>

</form>

<br>
<br>
You have Chosen the skills of: <!..I want to display the chosen elements here..>

<div id="output"></div>


<br><br>
<a href="NBA_3rd_Page.html" class="btn btn-info" role="button">Click Here For Prediction</a>



  </body>
</html>

最佳答案

首先,多个元素不应具有相同的ID。确保每个元素的“技能”都不同。还要向每个复选框添加一个value属性。
你可以这样尝试



var arr = [];

function myFunction() {
  console.clear()
  var chkBoxes = document.getElementsByClassName("anyclass"); // get all check box array
  for (var i = 0; i < chkBoxes.length; i++) {
    if (chkBoxes[i].checked) { // check if checked
      arr.push(chkBoxes[i].value);
    }
  }

  arr.forEach(item => console.log(item));
}

<input type="checkbox" value="val1" class="anyclass" />
<input type="checkbox" value="val2" class="anyclass" />
<input type="checkbox" value="val3" class="anyclass" />
<input type="checkbox" value="val4" class="anyclass" />
<p id="demo">ddd</p>
<button onclick="myFunction()">Try it</button>





现在,您可以将该阵列存储在本地存储中,并在必要时在其他页面中使用它。

关于javascript - 将复选框中的多个选择存储在HTML中的变量中并显示它们,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59671208/

10-09 19:10