javascript - 动态更新价格,多种选择

标签 javascript html

script type="text/javascript">
   function updatePrice() {
      var price = document.getElementById("product").value;

      document.getElementById("price").innerHTML="<p>PRICE: " + price + "</p>";
   }
</script>
</head>

<br>
<label >Shirt Type</label>

<body onload="updatePrice()">
<select id="product" onchange="updatePrice()">
<option id="basic" value="€20.00"> Basic Shirt (€20.00)</option>
<option id="poly" value="€25.00">Poly-Cotton Blend (€25.00)</option>
<option id="gildan" value="€28.00">Gildan Cotton (€28.00)</option>
<option id="organic" value="€30.00">Organic Cotton (€30.00)</option>
</select>
<div id="price"><p>PRICE: €XX.XX</p></div>

                <label >Shirt Size</label>

                <select id="size" onchange="updatePrice()">
                <option id="None">Choose Size</option>
                <option id="Small">Small</option>
                <option id="Medium">Medium</option>
                <option id ="Large">Large</option>
                <option id ="XL">XL</option>
                <option id ="XXL"value= "€2.00">XXL</option>
                <option id ="XXXL" value="€3.00">XXXL</option>

               </select>

我有一个销售 T 恤的网站,上面的代码允许根据所选棉花类型更新价格,效果很好。我希望 XXL 和 XXXL 尺寸的衬衫价格更高,并在价格中更新该费用。如何将元素的值添加在一起以显示一个价格,谢谢。

最佳答案

正确的代码是

<script type="text/javascript">
 function updatePrice() {
  var price = document.getElementById("product").value;
  var size_price = document.getElementById("size").value;

  var a=parseInt(price);//parsed type price
  var b=parseInt(size_price);//parsed size price

  if(size_price != "null")//if the value selected is not null then add the prize
  {
        var fin_price = a+b; //add the prices
  }
  else //if the value selected is null then fin_prize=price 
  { 
       var fin_price = price;    
  }
  document.getElementById("price").innerHTML="<p>PRICE: " + fin_price + "</p>";
}
</script>

<br>
<label >Shirt Type</label>

<body onload="updatePrice()">
    <select id="product" onchange="updatePrice()">
         <option id="basic" value="20.00"> Basic Shirt (€20.00)</option>
         <option id="poly" value="25.00">Poly-Cotton Blend (€25.00)</option>
         <option id="gildan" value="28.00">Gildan Cotton (€28.00)</option>
         <option id="organic" value="30.00">Organic Cotton (€30.00)</option>
    </select>

    <div id="price"><p>PRICE: €XX.XX</p></div>

     <label >Shirt Size</label>

     <select id="size" onchange="updatePrice()">
         <option id="None" value="null">Choose Size</option>
         <option id="Small" value="0.00">Small</option>
         <option id="Medium" value="0.00">Medium</option>
         <option id ="Large" value="0.00">Large</option>
         <option id ="XL" value="0.00">XL</option>
         <option id ="XXL"value= "2.00">XXL</option>
         <option id ="XXXL" value="3.00">XXXL</option>
     </select>

注意:如果您想添加来自不同值属性的数字,则不鼓励使用带有字母的数字(即 €20.00)。还可以将值属性与选择下拉列表的所有选项一起使用

关于javascript - 动态更新价格,多种选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26961015/

相关文章:

html - 如何在图像前面显示菜单项?

html - 第一个 <th> 尽可能宽,最大百分比宽度,所有其他 <th> 不换行

php - 使用 PHP 从 SQL 查询创建一个没有重复行的 HTML 表?

JavaScript:异步创建实例并在不同模块中使用它

javascript - 即使数组有键,json 对象键也会被添加

javascript - 文件数量计数不正确

javascript - 绑定(bind)和应用是什么意思?

html - 我无法通过 CSS 显示我的背景

javascript - Mongodb如何获取单个文档的大小?

html - 正文标签外的内容