2013-10-17 167 views
-1

我有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> 

任何解决方案?

+2

元素无法共享ID的btw –

+1

您必须选择要使用javascript禁用的按钮。一旦你知道了一点javascript,回来问问题。 – MarioDS

+1

ID是唯一的。改用类。 –

回答

0

我建议在你的按钮中添加一个通用类(对于这个例子,假设你的类为btnClass),也可以为每个按钮点击使用相同的函数,不需要为做按钮的按钮创建独特的函数通过在功能上el PARAM被点击

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.id将导致点击元素的ID。

0

你有showDiv01();函数调用点击也。放置代码来禁用通过id查找它们的按钮。

除了我不认为你可以有不同的按钮,如“无”,我也会考虑保持在按钮id以外的地方。 我会将一些参数传递给showDiv01();函数,如showAnswerDiv(1);showAnswerDiv(2);

这样你就可以根据参数采取行动,这比做出有效或无效答案的功能好多了,并将其固定到按钮上。