我有一个使用 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();
}
});
最佳答案
您可能会在这里发现一个更有用的对象。在循环之前定义它:
var price = {};
然后在循环中只需将价格分配给以前缀作为键的属性 - 无需检查条件:
price[prefix] = $('#rl option:selected').data("unit-price");
然后您可以使用前缀访问价格:
var rlPrice = price['rl'];
关于javascript - 在 Javascript 循环中分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21141700/