jQuery将2个变量合并为1个变量

时间:2016-03-03 21:38:49

标签: javascript jquery variables

有没有办法将2个变量合并为1?

每次按下“兑换凭证按钮”时,我需要重置输入值

我有以下变量:

var buttonColor = $(this).attr('class');

var goldOriginalTotal = '$3916.64';
var silverOriginalTotal = '$1396.64';
var bronzeOriginalTotal = '$724.64';

buttonColor会给我金,银或铜。我想用它来调用goldOriginalTotal,silverOriginalTotal或bronzeOriginalTotal。

我想用它如下,但我认为不可能:(

$(this).find('input.' + buttonColor).text(buttonColor + OriginalTotal);

例如buttonColor + OriginalTotal应该等于goldOriginalTotal,应打印出$3916.64

2 个答案:

答案 0 :(得分:4)

在这种情况下,最好将现在拥有的三个变量作为由预期类名称键入的对象的属性。试试这个:

var buttonColor = $(this).attr('class');
var originalTotal = {
    gold: '$3916.64',
    silver: '$1396.64',
    bronze: '$724.64'
};
$(this).find('input.' + buttonColor).text(originalTotal[buttonColor]);

您当前正在尝试执行的操作,buttonColor + OriginalTotal导致字符串连接。您可以使用eval以编程方式按名称访问变量,但执行此操作被认为是可怕的做法。上述解决方案是首选方法。

答案 1 :(得分:1)

您可以连接值以获取对象成员。

var buttonColor = $(this).attr('class');

var originalTotals = {
  gold: '$3916.64',
  silver: '$1396.64',
  bronze: '$724.64',
}

$(this).find('input.' + buttonColor).text(originalTotals[buttonColor]);