无法在jQuery中获取每个循环之外的变量值

时间:2015-11-04 11:26:12

标签: javascript jquery

我在获取变量值时遇到问题。在每个查询循环中,我得到正确的计算值但是当我尝试在每个循环之外获取值时,它将值显示为0 这是代码: 更新代码

// Discounts Calculations
        var item_discounts_current = 0;
        $(this).nextUntil("#item-extras-discounts").find('.item-current-discounts :selected').each(function(item_discounts_current) {
            var item_discounts_type = parseFloat( $(this).attr('data-dtype') );
            if ( item_discounts_type == 1 ) {
                item_discounts_current += parseFloat( $(this).attr('data-dvalue') ) + item_discounts_current;
            }
            else {
                var percentage_val = parseFloat( $(this).attr('data-dvalue') ) / 100;
                var new_item_discount_value = item_total_price_current * percentage_val;
                item_discounts_current += item_discounts_current + new_item_discount_value;
            }
            // This is showing calculated value
            console.log(item_discounts_current);
        });
        // This is showing 0 value
        console.log(item_discounts_current);

1 个答案:

答案 0 :(得分:2)

在每个循环中使用var item_discounts_current,您将创建一个新的局部变量,而不是使用全局变量。删除var以使用全局变量。

Here您可以阅读JavaScript中变量的范围。