有没有办法将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
答案 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]);