将值基于选择框选项相乘

时间:2013-12-13 14:11:42

标签: javascript

我有一个固定成本的小表格,根据发货地点和托盘数量来确定。

例如英国1区到法国1区= 20 英国第3区至法国第4区= 68

var values = [
        [20,25,35,40],
        [36,42,50,56],
        [42,56,52,68],
        [60,70,68,72]
    ];

我现在想要达到的目标是如何乘以总价值。

例如,如果用户选择英国1区进入法国1区,那么1个产品的价格为20英镑

但是,如果他们从选择框中选择2,则总费用现在应为£40

这是我必须去的地方,但我无法让它工作

function updateValue() {
        var fromCountry = document.querySelector('input[name="from_country"]:checked').value;
        var toCountry = document.querySelector('input[name="to_country"]:checked').value;

        var totalValues = values[fromCountry-1][toCountry-1];
        var fixValues = document.querySelector('select[name="number"]');
        var n = parseInt(fixValues.val(), 10);

        if(fromCountry && toCountry) {
            document.getElementById('cost').value = (totalValues * n);
        }
    }

完全小提琴 - http://jsfiddle.net/barrycorrigan/ZXHbq/3/

迫切需要帮助: - )

2 个答案:

答案 0 :(得分:1)

val()是jQuery函数。由于您不使用jQuery,请使用fixValues.value。并且不要忘记打电话updateValue(),这在你的小提琴中缺失。

答案 1 :(得分:0)

这是我用来实现它的代码:

function updateValue() {
        var fromCountry = document.querySelector('input[name="from_country"]:checked').value;
        var toCountry = document.querySelector('input[name="to_country"]:checked').value;

        var totalValues = values[fromCountry-1][toCountry-1];
        var fixValues = document.querySelector('select[name="number"]');
        var n = parseInt(fixValues.value, 10);

        if(fromCountry && toCountry) {
            document.getElementById('cost').value = (totalValues * n);
        }
    }