2014-10-09 67 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