检查组合框值并打折

时间:2013-11-27 14:18:09

标签: javascript

我的脚本出现问题

我想在适当的值时更改组合框更新并检查是否打折

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

1 个答案:

答案 0 :(得分:1)

确保从

解析字符串
var value    = a.options[a.selectedIndex].value; 

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

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