我的脚本出现问题
我想在适当的值时更改组合框更新并检查是否打折
我的js
function desconto(a){
var result;
switch(a){
case 3:
result = 17;
break;
case 6:
result = 33;
break;
case 12:
result = 42;
break;
case 24:
result = 59;
break;
default:
result = 0;
break;
}
return result;
}
function tratar_valor(value,prefix){
if(desconto(value) === 0){
return value * prefix;
}else{
return (value * desconto(value)) / 100 * prefix;
}
}
function change_value(a,b,c){
var value = a.options[a.selectedIndex].value;
document.getElementById(b).innerHTML = '€ '+ tratar_valor(value,c) ;
}
</script>
和我的HTML
<li class="price-row">
<h1 id="val">€20</h1>
<span>
<select id="lol" onchange="javascript:change_value(this,'val',20)">
<option value="1">month</option>
<option value="3">3 months - 17%</option>
<option value="6">6 months - 33%</option>
<option value="12">1 year - 42%</option>
<option value="24">2 years - 59%</option>
</select>
</span></li>
我一直在看这个值似乎是默认传递给交换机的。
因此,它不会影响适当的折扣。我在php中编程,我对javascript有一个非常基本的了解,无法解决这个问题。
答案 0 :(得分:1)
确保从
解析字符串var value = a.options[a.selectedIndex].value;
作为整数,因为它可能是一个字符串:
var value = parseInt(a.options[a.selectedIndex].value);