在Javascript循环中分配变量变量

时间:2014-01-15 15:38:02

标签: javascript jquery

我有一个带有jquery .each函数的循环,它使用后缀_prop_val过滤ID,然后获取前缀并将其用于其他操作,如下面的代码所示。目前我不得不使用if语句来设置rlPrice。有没有办法在循环中获取它,即prefixPrice,然后将其设置为rlPrice

$('[id$="_prop_val"]').each(function(){
    var prefix = this.id.slice(0,2);
    if( $('#'+prefix+'_prop_val').val() != ""){
        $('#'+prefix+'_prop_val').prop('disabled', false).trigger('chosen:updated');
        $('#'+prefix+'_ct_row').show();
        $('#'+prefix+'_deactivate_btn').show();
        if(prefix == "rl"){
            rlPrice = $('#rl option:selected').data("unit-price");
        }
        checkExtra(prefix);
    }else{
        $('#'+prefix+'_container').addClass('inactive');
        $('#'+prefix+'_activate_btn').show();
    }
});

1 个答案:

答案 0 :(得分:3)

您可能会在此处找到更有用的对象。在循环之前定义它:

var price = {};

然后在你的循环中,只需将价格分配给前缀为关键字的属性 - 无需检查条件:

price[prefix] = $('#rl option:selected').data("unit-price");

然后您可以使用前缀

访问价格
var rlPrice = price['rl'];