jquery 在点表示法中使用变量作为常量名称的一部分[重复]

to94eoyn  于 2023-08-04  发布在  jQuery
关注(0)|答案(1)|浏览(115)

此问题在此处已有答案

Accessing an object property with a dynamically-computed name(19个答案)
JavaScript object: access variable property by name as string [duplicate](3个答案)
how to access object property using variable [duplicate](2个答案)
get value with string key in javascript [duplicate](2个答案)
15天前就关门了。
我正在寻找一种方法来使用var opt = $("#select option:selected").val();中的值,例如,option 1,并将其用作点标记法中const变量的一部分。
例如,我想使用opt的值(它的值为option 1)来调用price.option1.savings的值。我想用opt替换选项',其中**{option 1}**是,结果应该是11。有办法吗?

const price = {
      option1: {type: 'R-11', rValue: 11, savings: 0.20, pct: 0.12},
      option2: {type: 'R-13', rValue: 13, savings: 0.22, pct: 0.12},
      option3: {type: 'R-19', rValue: 19, savings: 0.24, pct: 0.12}
}

$(function() {
  $("#select").blur(function() {
    var opt = $("#select option:selected").val();
    var result = price.${!opt}.savings;
    $("#result").html(result);
  });
});

个字符

const price = {
    option1: {type: 'R-11', rValue: 11, savings: 0.20, pct: 0.12},
    option2: {type: 'R-13', rValue: 13, savings: 0.22, pct: 0.12},
    option3: {type: 'R-19', rValue: 19, savings: 0.24, pct: 0.12}
}

$(function() {
    $("#select").blur(function() {
        var opt = $("#select option:selected").val();
    var result = price.${!opt}.savings;
        $("#result").html(result);
    });
});

wr98u20j

wr98u20j1#

你就得做这样的事

$(function() {
    $("#select").blur(function() {
        var opt = $("#select option:selected").val();
    var result = price[opt].savings; // we substituted ${!opt} to [opt]
        $("#result").html(result);
    });
});

字符串
据我所知,这是使用变量值获取对象属性的唯一方法。你可以阅读更多关于它here

相关问题