如何在javascript中将多个选择中的值分配给变量

如何在javascript中将多个选择中的值分配给变量,javascript,html,Javascript,Html,下面的js代码在按下按钮时动态添加另一个select元素。问题是如何将每个select值分配给变量 <head> <script src="script.js"></script> </head> <body> <div id="myDiv"></div> <br/> <button onclick="addInput('myDiv')">Show select</

下面的js代码在按下按钮时动态添加另一个select元素。问题是如何将每个select值分配给变量

<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>
这对于第一次选择很有效

var y=document.forms["myForm"]["badge[]"].value;
<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>
但对于以下情况,选择“不”。我尝试在括号内添加1,如下面的一个,但它会错误地取消定义

var y=document.forms["myForm"]["badge[1]"].value;
<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>
JavaScript

<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>
HTML

<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>

我不确定这是你想要的,但试试这个:

<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>
HTML:

<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>
JavaScript:

<head>
  <script src="script.js"></script>
</head>

<body>
  <div id="myDiv"></div>
  <br/>
  <button onclick="addInput('myDiv')">Show select</button>
  <br/>
  <div id="myResult"></div>
  <br/>
  <button onclick="displayResult('myResult')">Show result</button>
</body>

</html>
var choices = [];
choices[0] = "--Select a badge--";
choices[1] = "Thank you";
choices[2] = "Above and Beyond";
choices[3] = "Bookworm";
choices[4] = "Constructive Feedback";
choices[5] = "Employee of the Month";
choices[6] = "Fantastic Idea";
choices[7] = "Great Attitude";
choices[8] = "Great Turnaround";
choices[9] = "Great Work";
choices[10] = "Helping Hand";
choices[11] = "I am Successfactors";
choices[12] = "I am Sykes";
choices[13] = "I am your Fan";
choices[14] = "Successfactors Wizard";
choices[15] = "Speedster";
choices[16] = "Stepping up";
choices[17] = "Teamwork";
choices[18] = "1st Place";

var value = [];
value[0] = 0;
value[1] = 39;
value[2] = 34;
value[3] = 29;
value[4] = 33;
value[5] = 25;
value[6] = 36;
value[7] = 27;
value[8] = 28;
value[9] = 37;
value[10] = 35;
value[11] = 24;
value[12] = 23;
value[13] = 38;
value[14] = 31;
value[15] = 40;
value[16] = 30;
value[17] = 32;
value[18] = 26;

var badge = [];

function addInput(divName) {
  var newDiv = document.createElement('div');
  var selectHTML = "";

  selectHTML = "<select onchange='badge.push(this.value);' >";

  for (i = 0; i < choices.length; i = i + 1) {
    selectHTML += "<option value='" + value[i] + "'>" + choices[i] + "</option>";
  }
  selectHTML += "</select>";
  newDiv.innerHTML = selectHTML;
  document.getElementById(divName).appendChild(newDiv);
}

function displayResult(divName) {
  var result = '';
  for (var i = 0; i < badge.length; i++) {
    result += badge[i] + ' ';
  }
  document.getElementById(divName).innerHTML = result;
}

谢谢,这是我想要的。我真正喜欢的是将它分配给一个变量,这样我就可以验证并确保值-选择一个徽章-没有被选中..谢谢你lukpaw!基于您的方法,我能够解决我的问题!: