【发布时间】:2019-05-25 01:58:08
【问题描述】:
我有一个表格,每行有 2 个单选按钮组 - 这是一系列问题的是/否选择。
选择“是”会增加一个变量以跟踪“是”答案的总数。除非已经选择了 YES,否则选择 NO 不会执行任何操作,在这种情况下,它会减少总数。
我可以增加 YES easy peasy。问题是在选择NO时检测YES的状态,因为通过选择NO,在我可以测试之前不再选择YES。薛定谔的按钮?
如何在更改之前单击“否”并测试“是”的状态?
<input type='radio' id = 'q1Y' name='q1' value='1Y' onChange='countY(this.id);'>
<input type='radio' id = 'q1N' name='q1' value='1N' onChange='countN(this.id);'>
function countN(id){
q = id.slice(0, -1);
/////////////////
//
// The problem is here. By the time the code reaches this point, Y is already unchecked
//
////////////////
if($('#'+q+'Y').prop('checked')===true){
score--;
$("#scoretotal").html(score);
}
}
【问题讨论】:
-
请发布您的代码。
-
你真的需要一个总和,还是用户回答完所有问题后才能计算总和?
-
当然,但为什么代码甚至相关?问题很明确。
-
使用
change事件代替点击事件。如果单击已选择的按钮,则不会调用事件侦听器。 -
这不太对,如果最初都没有检查。
标签: javascript jquery forms radio-button