【发布时间】:2021-06-20 15:47:46
【问题描述】:
我知道必须有一种更有效的方法来做到这一点,我过去这样做是因为我没有太多要跟踪的按钮,但我现在有大约 40 个按钮,每次更新都会更新一个 mysql带有是或否的表,并且有 40 个单独的变量和等效的 if 语句似乎是错误的代码。
需要注意的是,您可以看到该函数有一个 1,例如onclick='btnChange(1, this.value);。有 7 个不同的按钮,然后这 7 个按钮重复 onclick='btnChange(2, this.value);。所以我想到的一种解决方案是为每个按钮设置 7 个 if 语句,并为每个 if 语句设置变量名,然后我只需要声明很多变量。所以我也不确定这是否是最好的方法。这有意义吗?
HTML
<button type="button" name='foo' value="bar1" onclick='btnChange(1, this.value); return false' class='form-control'>Button1</button>
<button type="button" name='hoo' value="bar2" onclick='btnChange(1, this.value); return false' class='form-control'>Button1</button>
JS
var button1YN = 0;
var button2YN = 0;
and so on...
var YNState;
function btnChange(tableid, btnID) {
if (btnID == "bar1") {
if (button1YN === 0) {
YNState = "yes";
button1YN = 1;
} else {
YNState = "no";
buttonY1N = 0;
}
}
if (btnID == "bar2") {
if (button2YN === 0) {
YNState = "yes";
button2YN = 1;
} else {
YNState = "no";
buttonY2N = 0;
}
}
//ajax code to update the mysql table
}
【问题讨论】:
标签: javascript if-statement variables