2016-03-03 101 views
3

有沒有將2個變量合併爲1的方法?jQuery將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

回答

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以編程方式按名稱訪問變量,但這樣做被認爲是可怕的做法。上述解決方案是首選的方法。

+0

是的謝謝隊友我懷疑我想做的事情是非常可怕的。感謝您向我展示更好的方式。 –

+0

詛咒我的金屬身體。我速度不夠快。 – twernt

+0

@twernt你雖然接近,但:) –

1

您可以連接您的值以獲取對象成員。

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

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

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