我有一个带有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();
}
});
答案 0 :(得分:3)
您可能会在此处找到更有用的对象。在循环之前定义它:
var price = {};
然后在你的循环中,只需将价格分配给前缀为关键字的属性 - 无需检查条件:
price[prefix] = $('#rl option:selected').data("unit-price");
然后您可以使用前缀
访问价格var rlPrice = price['rl'];