2014-10-09 73 views
2

等效我具有可變var commision_1 = 2000 ;var commision_2 = 4000;和的函數:

function updateCommission(period){ 
    $("input:text[name='commission']").val('commision_'+period); 
} 

如果週期是1,則文本框的值是2000我想; 我知道我可以使用數組,但我已經是別人的代碼,有沒有辦法解決它 只是在PHP喜歡我怎麼會寫$x = 'commision_' .$period; echo $$x;

+1

這應該是數組或對象,而不是 – 2014-10-09 08:34:35

+0

@RoyalBg *「我知道我可以使用數組,但我的工作別人的代碼」 * – George 2014-10-09 08:35:09

+1

@George所以問題應該是固定的,不在身邊跳舞。 – 2014-10-09 08:36:13

回答

4

你可以用方括號來獲得可變的變量。

提供這些變量在窗口範圍定義:

function updateCommission(period){ 
    $("input:text[name='commission']").val(window['commision_' + period]); 
} 

話雖如此,定義編號的變量是不是一個好主意(一路攀升到2000 ...!?)。一個陣列就是爲了這個目的而誕生的。我最好的答案是要求將這些變量重新編寫成一個數組,但我很欣賞這說起來容易做起來難。

-1
var commission_1 = 2000, commission_2 = 4000; 
var name = 'commission_1'; 
console.log(window[name]); 
+0

完全失敗,如果你在一個函數。 -1 – 2014-10-09 08:36:39