我有4个答案按钮,根据答案是否正确(“showDiv01”/“showDiv02”)触发勾选或十字显示,我想在其中任何一个按钮后禁用所有按钮点击,到目前为止,我只能禁用点击“onClick = this.disabled ='true';”的按钮。
<button id="none" onClick="showDiv01(); this.disabled = 'true';">Almond White</button><br>
<button id="score" onClick="showDiv02(); this.disabled = 'true';">Raspberry Diva</button<br>
<button id="none" onClick="showDiv01(); this.disabled = 'true';">Melon Sorbet</button><br>
<button id="none" onClick="showDiv01(); this.disabled = 'true';">Gentle Lavender</button><br>
任何解决方案?
答案 0 :(得分:0)
我建议在按钮中添加一个公共类(对于这个例子,假设你是btnClass
),同样,你可以为每个按钮单击使用相同的功能,不需要为执行相同类型行为的按钮:
function showDiv(el) {
//"el" should be "this" passed in to the func
var buttons = document.getElementsByClassName("btnClass");
for (var i = 0; i < buttons.length; i++) {
buttons[i].disabled = true;
}
}
<button id="none" onClick="showDiv(this)"></button>
传入this
后,您可以直接访问通过函数中的el
参数单击的元素。因此el.id
将生成所点击元素的ID。
答案 1 :(得分:0)
您也点击了showDiv01();
函数。放置代码以禁用按ID查找它们的按钮。
此外我不认为你可以为不同的按钮(例如“none”)拥有相同的id,我也会考虑在按钮ID以外的地方保持答案。
我会将一些参数传递给showDiv01();
函数showAnswerDiv(1);
或showAnswerDiv(2);
。
这样你可以根据参数采取行动,这比制作有效或无效答案的功能并将其固定到按钮要好得多。