如何计算要更改的按钮数量?

时间:2014-06-25 18:22:37

标签: javascript jquery

请帮助修复脚本或告诉我思考的方向。 订购商品有calculator

$(function(){
    var price = {
        '130': {
            'list': {
                'a3': {
                    '4+4': {
                        '500': 3255,
                        '1000': 3720,
                        '2000': 4935,
                        '3000': 5935,
                        '4000': 6935,
                    },
                    '4+0': {
                        '500': 3031,
                        '1000': 3456,
                        '2000': 4410,
                    },
                },
                'a4': {

                }
            },
            'flaer': {

            }
        },
        '160': {

        }
    };

    var dict = {
        '130': '130 г/м²',
        '160': '160 г/м²',
        'list': 'Листовки',
        'flaer': 'Флаеры',
    }

    var str = '',
        multi;

    // Selecting something by clicking a button
    $(document).on('click', '#calc button', function(event){
        //event.preventDefault();
        $(this).parent().data('selected', $(this).data('id'));
        $(this).addClass('selected').siblings().removeClass('selected');
        $('#calc_result').empty();

        var priceitem = price,
            param;
        for (var i=0; i < 5; i++)
        {
            param = $('#calc div:eq('+i+')').data('selected');
            if (param)
                priceitem = priceitem[param];   
            else
                break;
        }

        if (i == 5)
        {
            $('#calc_result').text(priceitem);

            q = $('button.selected');
            q.each(function(){
                str = str + $(this).text() + ', ';
            })      
            str = str.substring(0, str.length - 2);

            $('#calc_summary').append(str);
        }

        // shadow hide
        $(this).closest('.cell').next().find('.cell_shadow').css('display', 'none');
    });

    // Pre-filling
    var priceitem = price;
    for (var lvl=0; lvl < 5; lvl++)
    {
        var iter = 0;
        for (var i in priceitem)
        {
            if (!iter)
                priceitem = priceitem[i]        
            iter++;
            $('#calc .lvl'+lvl).append('<button data-id="'+i+'">'+((i in dict) ? dict[i] : i)+'</button>');
        }
    }

    // multiplication request
    $('#odin_plus').on('click', function(){
        if($('#calc_multi').html() == ''){
            multi = 1;
            addMulti(multi);
        }
        else{
            multi = multi + 1;
            addMulti(multi);
        };

        $('#odin_minus').css('visibility', 'visible');
    });

    $('#odin_minus').on('click', function(){
        if($('#calc_multi').html().substring(2) != '1'){
            multi = multi - 1;
            addMulti(multi);
        }
        else{
            $('#odin_minus').css('visibility', 'hidden');
            $('#calc_multi').html('');
        };
    });             

    function addMulti(multi){
        $('#calc_multi').html(' x' + multi);
    };

    $('#listovki_submit').on('click', function(){
        alert('Ваша заявка отправлена ' + '\n' + str + ' ' + $('#calc_multi').text());
    });
});

问题是当choosing下一个块时。 cell_13包含5个按钮。

choosing下一个街区。 cell_13还包含5个按钮(但应包含三个按钮!)

我需要&#34; 4 + 0&#34;块。 cell_13包含3个按钮

0 个答案:

没有答案