Hello, I have a form with a dropdown menu with an id of #state. I would like to make an IF statement that says that if the selected state was NY, var tax5 = 1.05;. Everything else will be var tax15 = 1.15;. How can I make this happen? Below is the code. var tax15 = 1.15; var tax5 = 1.05; var qty = $("#qty").val(); var price = parseFloat(data.replace("$", "")); var shipping = parseFloat(data2.replace("$", "")); if(!shipping){ shipping = 0; } if($('#store_pickup').prop("checked") == true){ var shipping = 0; console.log('check'); } $("#shippinginput").val(shipping.toFixed(2)); $("#subtotal").html("$"+(price*qty).toFixed(2)); $("#shipping").html("$"+(shipping*qty).toFixed(2)); $("#tax").html("$"+(((price+shipping)*qty)*tax5).toFixed(2)); $("#total2").html("$"+((price+shipping)*qty).toFixed(2)); $("#cardSubmitBtn").val('BUY NOW $'+((price+shipping)*qty).toFixed(2)); Code (JavaScript):
Something like below.... <select id="state"> <option value="AL">alabama</option> <option value="NY">new york</option> <option value="CO">colorado</option> </select> HTML: in pure javascript though: <script> var tax = 1.15; document.getElementById('state').addEventListener('change',function(){ if(this.value === 'NY') tax = 1.05; else tax = 1.15; },false); var qty = $("#qty").val(); var price = parseFloat(data.replace("$", "")); var shipping = parseFloat(data2.replace("$", "")); if(!shipping){ shipping = 0; } if($('#store_pickup').prop("checked") == true){ var shipping = 0; console.log('check'); } $("#shippinginput").val(shipping.toFixed(2)); $("#subtotal").html("$"+(price*qty).toFixed(2)); $("#shipping").html("$"+(shipping*qty).toFixed(2)); $("#tax").html("$"+(((price+shipping)*qty)*tax).toFixed(2)); $("#total2").html("$"+((price+shipping)*qty).toFixed(2)); $("#cardSubmitBtn").val('BUY NOW $'+((price+shipping)*qty).toFixed(2)); </script> Code (JavaScript):
After removing the first occurrence of var tax = 1.15, it worked. Thank you so much. Do you know how I could include 2 states without repeating? For example, if NY or PA are picked?
if(this.value === 'NY' || this.value === 'PA' || ...) tax = 1.05; else tax = 1.15; Code (JavaScript): should be okay I think -- what's repeating? Perhaps to use switch statement? switch(this.value){ 'NY': 'PA': tax = 1.05; break; default: tax = 1.15; } Code (JavaScript):