选择所有选择框(Javascript)

时间:2013-12-08 12:53:42

标签: javascript select

我有一个网页,我需要在其中添加每个选项。因此,例如,如果有人选择A,那么它将为最终值添加90。目前我通过添加每个选择框的每个ID手动完成它(见下面的代码),但现在我有很多选择框,我认为我需要一个更好的方法!在此先感谢!

我目前拥有的代码片段(理论1是选择框的ID):

var t1 = document.getElementById('theory1');
var tnum1 = 0;

        if(t1.options[t1.selectedIndex].value == "Grade 6 - Distinction"){
        tnum1 = tnum1+15;
        }

        if(t1.options[t1.selectedIndex].value == "Grade 6 - Merit"){
        tnum1 =tnum1+10;
        }

        if(t1.options[t1.selectedIndex].value == "Grade 6 - Pass"){
        tnum1 = tnum1+5;
        } document.getElementById('add').innerHTML = tnum1;

3 个答案:

答案 0 :(得分:0)

您应该使用字典来解决此问题

var action;
action["Grade 6 - Distinction"] = 15;
action["Grade 6 - Merit"] = 10;
action["Grade 6 - Pass"] = 5;

var selectedValue = t1.options[t1.selectedIndex].value;
tnum1 = tnum1 + action[selectedValue];
document.getElementById('add').innerHTML = tnum1;

答案 1 :(得分:0)

你可能想看看jQuery或类似的东西。它允许您轻松地迭代文档中具有特定类的所有元素,这可能是您想要的。 (您还需要一种从值映射到数字的方法;将其编码为单个函数,例如。)

答案 2 :(得分:0)

您可以将选项的值设为要添加的值。

<select id="theory1">
  <option value="15">Grade 6 - Distinction</option>
  ...
</select>
然后

循环选择并加上值

var selects = document.getElementsByTagName('select');
var tnum1 = 0;
for (var i = 0; i < selects.length; i++){
    tnum1 += +selects[i].value;
}
document.getElementById('add').innerHTML = tnum1;