Javascript';计算';功能-如果/否则

Javascript';计算';功能-如果/否则,javascript,Javascript,我正在编写一个函数,根据选择框中选择的值计算总和。如何使下面的JavaScript代码更简洁 <select name="test" id="mySelect1" style="font-size:10px" onchange="Calculate()"> <option value="onePoint">1</option> <option value="halfPoint">1/2</option> </select

我正在编写一个函数,根据选择框中选择的值计算总和。如何使下面的JavaScript代码更简洁

<select name="test" id="mySelect1" style="font-size:10px" onchange="Calculate()"> 
  <option value="onePoint">1</option>
  <option value="halfPoint">1/2</option>
</select>

<select name="test" id="mySelect2" style="font-size:10px" onchange="Calculate()"> 
  <option value="onePoint">1</option>
  <option value="halfPoint">1/2</option>
</select>


function Calculate()
{
  var selectedValue1 = document.getElementById("mySelect1").value;
  var selectedValue2 = document.getElementById("mySelect2").value;
    if (selectedValue1 == "onePoint" && selectedValue2 == "onePoint")
      {
        var total = 2;
      }
    else if (selectedValue1 == "halfPoint" && selectedValue2 == "halfPoint")
      {
        var total = 1;
      }
    else if (selectedValue1 == "onePoint" && selectedValue2 == "halfPoint")
      {
        var total = 1.5;
      }
    else if (selectedValue1 == "halfPoint" && selectedValue2 == "onePoint")
      {
        var total = 1.5;
      }
  document.getElementById("demo").innerHTML = total;
}

1.
1/2
1.
1/2
函数计算()
{
var selectedValue1=document.getElementById(“mySelect1”).value;
var selectedValue2=document.getElementById(“mySelect2”).value;
如果(selectedValue1==“onePoint”&&selectedValue2==“onePoint”)
{
var总计=2;
}
else if(selectedValue1==“halfPoint”&&selectedValue2==“halfPoint”)
{
var总计=1;
}
else if(selectedValue1==“一点”&&selectedValue2==“半点”)
{
风险价值总额=1.5;
}
else if(selectedValue1==“半点”&&selectedValue2==“一点”)
{
风险价值总额=1.5;
}
document.getElementById(“demo”).innerHTML=total;
}
您可以使用三元(
)将值转换为数字,然后只需将它们相加即可


您可以使用三元(
)将值转换为数字,然后只需添加它们。

假设只有几个不同的值:

var values = {
    onePoint: 1,
    halfPoint: 0.5
}

function Calculate() {
    var value1 = values[document.getElementById("mySelect1").value];
    var value2 = values[document.getElementById("mySelect2").value];
    document.getElementById("demo").innerHTML = value1 + value2;
}

假设只有几个不同的值:

var values = {
    onePoint: 1,
    halfPoint: 0.5
}

function Calculate() {
    var value1 = values[document.getElementById("mySelect1").value];
    var value2 = values[document.getElementById("mySelect2").value];
    document.getElementById("demo").innerHTML = value1 + value2;
}

谢谢类似charm:-)为了给您提供一些上下文,我的意图是添加更多的选择框,并根据每个选择计算值。这个选项减少了我必须编写的代码,比我最初的工作要多得多。很高兴它能为你工作!您可以尝试立即将框的value属性设置为
1
/
0.5
。这样,您就可以将其转换为
Number
。例如,
Number(…value)
谢谢!类似charm:-)为了给您提供一些上下文,我的意图是添加更多的选择框,并根据每个选择计算值。这个选项减少了我必须编写的代码,比我最初的工作要多得多。很高兴它能为你工作!您可以尝试立即将框的value属性设置为
1
/
0.5
。这样,您就可以将其转换为
Number
。例如,编号(…值)