jQuery如何将2个变量合并成一个?

3

有没有一种方法将2个变量合并成1个?

每次按下“Redeem Voucher”按钮时,我需要重置输入值

我有以下变量:

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

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

buttonColor 会给我金牌、银牌或铜牌。我想使用它来调用 goldOriginalTotalsilverOriginalTotalbronzeOriginalTotal

我想像下面这样使用,但我不认为这是可能的 :(

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

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

2个回答

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来以编程方式访问变量名,但这被认为是可怕的做法。上面的解决方案是首选方法。

是的,谢谢伙计。我怀疑我尝试做的事情相当糟糕。感谢您向我展示更好的方法。 - Clinton Green
@twernt 你很接近了 :) - Clinton Green

1
你可以将值连接起来以获取对象成员。
var buttonColor = $(this).attr('class');

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接