具有加法和乘法的数学运算

时间:2014-12-30 18:49:24

标签: javascript html math symbolic-math

我一直在尝试执行此操作,其中quantity或Subtotal = value1 +(value2 * value3)但我无法弄清楚如何按顺序执行加法和乘法。我在JS Bin上尝试它,出于某种原因,当我放置1个slab和BD变量时,它是175,甚至低于value1值。我很感激帮助,因为我刚刚开始编码,并提供了一些直接的提示和帮助,我会变得更好。谢谢。

我为这个令人困惑的问题道歉。我想要的是创建一个表格,让某人知道某种材料的彩绘板的价格。我发现我每小时可以做2个平板,这就是为什么value1对于数字1和2 = 300依旧如此。平板BD等于75美元,平板BG等于120美元。我想要的是根据板坯的数量乘以板坯的类型来计算价格。例如:如果我想要1块BD,那么数学将是300+(75 * 1),绘画时间为300,类型为75,因为我只使用其中的1种,最后的乘法为1如果我使用2,则数学将是300+(75 * 2),如果我使用3,则数学将是600+(75 * 3)。随意问一下这是否令人困惑。我感谢任何帮助。

Slabs
  <select input id="numberofslabs"><br>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
    <option value="5">5</option>
    <option value="6">6</option>
    <option value="7">7</option>
    <option value="8">8</option>
    <option value="9">9</option>
    <option value="10">10</option>
    <option value="11">11</option>
    <option value="12">12</option>
    <option value="13">13</option>
    <option value="14">14</option>
    <option value="15">15</option>
    <option value="16">16</option>
    <option value="17">17</option>
    <option value="18">18</option>
    <option value="19">19</option>
    <option value="20">20</option>
  </select><br>
Materials
  <select input id="materials"><br>
    <option value="75">BD</option>
    <option value="120">BG</option>
    <option value="50">CC</option>
    <option value="200">MDF</option>
    <option value="800">A2</option>
    <option value="900">A3</option>
    <option value="1200">A4</option>
    <option value="1400">A5</option>
    <option value="1750">A6</option>
  </select>
<script type="text/javascript">
var selectElement = document.getElementById("numberofslabs");
    selectElement.addEventListener('change',myFunction);
    function myFunction() {
        var value1 = document.getElementById("numberofslabs").value;
        if(value1=="1")
        value=300;
        if(value1=="2")
        value=300
        if(value1=="3")
        value=600
        if(value1=="4")
        value=600
        if(value1=="5")
        value=900
        if(value1=="6")
        value=900
        if(value1=="7")
        value=1200
        if(value1=="8")
        value=1200
        if(value1=="9")
        value=1500
        if(value1=="10")
        value=1500
        if(value1=="11")
        value=1800
        if(value1=="12")
        value=1800
        if(value1=="13")
        value=2100
        if(value1=="14")
        value=2100
        if(value1=="15")
        value=2400
        if(value1=="16")
        value=2400
        if(value1=="17")
        value=2700
        if(value1=="18")
        value=2700
        if(value1=="19")
        value=3000
        if(value1=="20")
        value=3000
        var value2 =
document.getElementById("numberofslabs").value;
        var value3 =
document.getElementById("materials").value;
document.getElementById("quantity").value
        ='$'+value1 + +value2*value3;
}
</script>
<br>
Subtotal:<td><input id="quantity" name="quantity" type="value" value="$0.00" size="5" readonly/></td>

1 个答案:

答案 0 :(得分:0)

你混淆了价值&#39;和&#39; value1&#39;在您的代码中,这是主要的错误,并且一旦您使用数学公式而不是长if语句就会变得更加明显。

然后作为其他改进,将连接+(从&#39; $&#39; + ...)和数学+与括号分开可以减少混淆。

最后,你并没有听取材料的变化。

&#13;
&#13;
document.getElementById("numberofslabs").addEventListener('change',myFunction);
document.getElementById("materials").addEventListener('change',myFunction);

function myFunction() {
    var value1 = document.getElementById("numberofslabs").value;
    value1 = (+value1 + value1 % 2) * 150;
    var value2 = document.getElementById("numberofslabs").value;
    var value3 = document.getElementById("materials").value;

    document.getElementById("quantity").value ='$'+(+value1 + value2 * value3);
}
&#13;
Slabs
<select input id="numberofslabs"><br>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select><br>
Materials
<select input id="materials"><br>
<option value="75">BD</option>
<option value="120">BG</option>
<option value="50">CC</option>
<option value="200">MDF</option>
<option value="800">A2</option>
<option value="900">A3</option>
<option value="1200">A4</option>
<option value="1400">A5</option>
<option value="1750">A6</option>
  </select>
<br>
Subtotal:<input id="quantity" name="quantity" type="value" value="$0.00" size="5" readonly/>
&#13;
&#13;
&#13;