计算增值税时跳过文本输入值

时间:2016-08-04 22:18:19

标签: javascript jquery html5

我有简单的脚本来计算增值税:

<script>
      function count(){
      price = document.getElementById("price").value;            
      vat = document.getElementById("vat").value;            
      total = price*(1+vat/100);                                    
      document.getElementById('total').innerHTML=total;           
      }
</script>

<input size="20" MAXLENGTH="20" id="price" name="price" type="text" value="" onkeyup="count();">

<select id="vat" onchange="count();">
<option VALUE="22">22 %</option>
<option VALUE="7">7 %</option>
<option VALUE="33">33 %</option>
<option VALUE="ZW">ZW</option>
</select>

<span id="total"></span>

Here is how this script

我想对脚本做什么,当我从选择列表中选择文本的值(例如&#34; ZW&#34;),然后脚本忽略这个值,结果显示只输入在该领域的价值。

2 个答案:

答案 0 :(得分:0)

function count(){
  price = document.getElementById("price").value;  
  vat = document.getElementById("vat").value;    
  
  if (isNaN(vat))
    total=price;
  else
    total = price*(1+vat/100);
  
  
  document.getElementById('total').innerHTML=total;           
}
<input size="20" MAXLENGTH="20" id="price" name="price" type="text" value="" onkeyup="count();">

<select id="vat" onchange="count();">
<option VALUE="22">22 %</option>
<option VALUE="7">7 %</option>
<option VALUE="33">33 %</option>
<option VALUE="ZW">ZW</option>
</select>

<span id="total"></span>

答案 1 :(得分:0)

一个简单的解决方法是替换:

<option VALUE="ZW">ZW</option>

使用:

<option VALUE="0">ZW</option>

这样,所有选项都相互一致。这样可以节省您自己不需要的特定测试。

function count(){
  price = parseFloat(document.getElementById("price").value);
  vat = parseFloat(document.getElementById("vat").value);
  total = price*(1+vat/100);
  document.getElementById('total').innerHTML=total.toFixed(2);
}
<input size="20" MAXLENGTH="20" id="price" name="price" type="text" value="" onkeyup="count();">

<select id="vat" onchange="count();">
<option VALUE="22">22 %</option>
<option VALUE="7">7 %</option>
<option VALUE="33">33 %</option>
<option VALUE="0">ZW</option>
</select>

<span id="total"></span>