如何编写此代码以使其考虑下拉列表中的选定选项?

问题描述 投票:0回答:1

图像文件 - 价格计算器

嗨。我是编码新手,开始为我的空调价格计算器编写代码。代码目前如下所示:


var input1 = document.getElementById("inp1");
var input2 = document.getElementById("inp2");
var result = document.getElementById("coolculate");
function calculate() {
    var theProduct = parseInt(input1.value) * parseInt(input2.value) * (0.15);
    document.getElementById('invest_output_result').innerHTML = theProduct.toFixed(1);
};

result.onclick = calculate;

那么它正在做什么,例如,如果用户在长度和宽度输入中输入“5”和“6”,它将乘以 5*6,然后将此结果乘以 0.15(如果用户选择了正确的千瓦数) “米”)。但如果用户想选择“脚”,那么我需要不同的乘法。我需要将总和乘以 0.014,而不是 0.15。目前此代码默认使用“米”。但我添加了 ID 为“m_or_f”的下拉列表。我可能需要以某种方式将 ID 分配给我拥有的两个选项 - “米”和“英尺”?另外,如果下拉列表中未选择任何内容,我还需要提示用户选择某些内容。

所以我开始写这样的东西,但我知道这是错误的,因为“米”和“英尺”选项没有ID,我无法将ID分配给选项,所以它不起作用。那么,在我添加带有选项的下拉列表后,正确的最终代码是什么?谢谢

if (Metres) {
 
  var theProduct = parseInt(input1.value) * parseInt(input2.value) * (0.15);
  document.getElementById('invest_output_result').innerHTML = theProduct.toFixed(1);

} else if (Feets) {

  var theProduct = parseInt(input1.value) * parseInt(input2.value) * (0.014);
  document.getElementById('invest_output_result').innerHTML = theProduct.toFixed(1);
} else {

  var theProduct = 0;
}
drop-down-menu calculator option-type
1个回答
0
投票

我以某种方式完成了我想要的,但目前计算发生在下拉选项选择的更改上(我已将 onchange="calculate(this)" 事件添加到 HTML 中的下拉列表中)。但我只想在按下ID为“coolculate”的“Coolculate”按钮时进行计算。

这是目前它的工作原理的 GIF:https://viki.b-cdn.net/gif_xnVXGSpD.gif

目前我的代码如下所示:

<script>
var input1 = document.getElementById("inp1");
var input2 = document.getElementById("inp2");
var e = document.getElementById("m_or_f");
var value = e.value;
var result = document.getElementById("coolculate");
function calculate(answer) {
    if(answer.value == 1) {
var theProduct = parseInt(input1.value) * parseInt(input2.value) * (0.15);
  document.getElementById('invest_output_result').innerHTML = theProduct.toFixed(1);
} else if (answer.value == 2) {

  var theProduct = parseInt(input1.value) * parseInt(input2.value) * (0.014);
  document.getElementById('invest_output_result').innerHTML = theProduct.toFixed(1);
} else {

  var theProduct = 0;
}
};

result.onclick = calculate;

</script>
© www.soinside.com 2019 - 2024. All rights reserved.