根据变量的值编辑不同的对象

时间:2014-11-11 16:02:18

标签: javascript

我尝试根据用户点击的按钮更改不同的变量。例如,我有三个按钮:

<button id="button1" onclick="isClicked(this.id)">B1</button>
<button id="button2" onclick="isClicked(this.id)">B2</button>
<button id="button3" onclick="isClicked(this.id)">B3</button>

3个对象:

var button1 = { someValue: 0, otherValue: 5 };
var button2 = { someValue: 0, otherValue: 5 };
var button3 = { someValue: 0, otherValue: 5 };

点击按钮的ID会像这样传递到JavaScript中

function isClicked(clicked_id) {
    selectedID = (clicked_id);
}

我想要实现的是根据单击的按钮将值应用于变量 - 因此,如果单击button1,则会更改button1对象,但如果单击button2,则会更改button2对象

我查看了Programmatically setting the name of a variableProgrammatically set variable names by appending an ID parameter,但我看不出他们在我的情况下会如何运作。

有一种有效的方法吗?

1 个答案:

答案 0 :(得分:1)

嵌套你的对象:

var buttons = {
    button1 : { someValue: 0, otherValue: 5 },
    button2 : { someValue: 0, otherValue: 5 },
    button3 : { someValue: 0, otherValue: 5 }
};

现在:

function isClicked(clicked_id) {
    var theClickedButtonObject = buttons[clicked_id];
    // do something
}