我是JQuery的新手,我对我的代码中的事件顺序有疑问。我有一个多选题,下面有3个选项。我希望用户点击正确的答案。我的问题是,如果用户点击正确答案第一个,那么如果他们点击其他2个框,我就不希望发生任何事情。
我该怎么做?我相信我需要一个if语句,但我不确定如何设置它来做我喜欢的事情。任何提示/帮助将不胜感激。
这是在我的脚本部分:
$(".choices:not(#answer)").one("click", function() {
$(this).css("background-color", "red");
alert("sorry, that's incorrect");
});
$(".choices[id]").one("click", function() {
$(this).css("background-color", "grey");
$("#blank").remove();
$("#blank2").append($("#answer"));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="youyaku">
<table id="regular" align="center">
<tr>
<td colspan="3">
I have to go <span id="blank2"></span><span id="blank">____</span> the hospital.
</td>
</tr>
<tr>
<td class="choices">
<span>for</span>
</td>
<td id="answer" class="choices">
<span>to</span>
</td>
<td class="choices">
<span>at</span>
</td>
</tr>
</table>
</div>
&#13;
答案 0 :(得分:1)
使用单选按钮作为通常用于此目的的控件 您的代码应如下所示。 考虑到你需要在选择一个按钮后禁用所有其他按钮。
var radios = [].slice.call(document.querySelectorAll('input[name=level]'));
radios.forEach(function(radio) {
radio.addEventListener('change', function() {
radios.forEach(function(r) {
r.disabled = r !== radio;
});
});
});