具有多个选择元素的jQuery价格计算器

时间:2015-10-09 13:14:34

标签: javascript jquery

当选择按钮和选择菜单时,我使用以下代码添加/删除价格形式的跨度(报价)。以下代码适用于按钮以及当我仅使用一个选择菜单时,但是当我使用多个选择菜单时,它会失败。有谁知道如何调整以下代码以使用多个选择菜单?

{ print }

2 个答案:

答案 0 :(得分:1)

您只需模仿已有的按钮代码即可。而不是:

total += parseFloat($('select').val());

..使用这个:

$('select').each(function() {
    total += parseFloat($(this).val());
});

这会将页面上每个选择的值添加到变量total。如果您只想要一些选择(您可能在页面上出于其他原因而选择它们),请向其添加一个类(例如price),并将选择器更改为select.price

答案 1 :(得分:0)

尝试使用以下代码:

$(document).ready(function() {

    function updateTotal() {
        var total = 0;
        $('button.selected').each(function() {
            total += parseFloat($(this).val());
        });
        $('select').each(function() {
            total += parseFloat($(this).val());
        });
        $('span.quote-price').text("£" + total.toFixed(2));
    }

    $('button').click(function() {
        $(this).toggleClass('selected');
        updateTotal();
    });
    $('select').change(updateTotal);

    $('.reset').click(function() {
        $('.selected').removeClass('selected');
        $('select').val('0.00');
        updateTotal();
    });
});

而不是

total += parseFloat($('select').val());

我用过

$('select').each(function() {
    total += parseFloat($(this).val());
});