检查组合框值和折扣

Check combobox value and to discount

本文关键字:检查组 组合 检查      更新时间:2023-11-01

我的脚本有问题

我想更改组合框更新时的适当值,并检查您是否折扣

我的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有非常基本的理解,无法解决这个问题。

确保从解析字符串

var value    = a.options[a.selectedIndex].value; 

作为一个整数,因为它可能是一个字符串:

var value    = parseInt(a.options[a.selectedIndex].value);