我尝试根据用户点击的按钮更改不同的变量。例如,我有三个按钮:
<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 variable和Programmatically set variable names by appending an ID parameter,但我看不出他们在我的情况下会如何运作。
有一种有效的方法吗?
答案 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
}