我正在一个用户可以参加测验的网站上工作。现在每个测验有20个问题,三个部分,其中1markx10questions,2marksx5questions,4marksx5questions。我列出了每个问题的4个无线电选项,并且有一个收音机显示“我不想尝试”#39;和一个复选框,用于'评论'在用户点击了一个答案的选项之后。现在,当用户再次点击“我不想出现”时,修订版'复选框消失。现在的问题是,整个过程只发生在第一个问题上,而这个问题就是回顾过去的问题。对于测验中的其余问题,按钮不会出现。 这是我的代码,
<li class="list-group-item wrp_radio">
<div class="radio noMargin">
<label>
<input type="radio" class="checkedInfo" alt="<?php echo $no ; ?>" name="optionAns<?php echo $i ; ?>" value="<?php echo $rowO['id'] ; ?>">
<?php echo $rowO['options'] ; ?></label>
</div>
</li>
<?php } ?>
<li class="list-group-item wrp_radio">
<div class="radio noMargin">
<label>
<input type="radio" class="checkedInfo" alt="<?php echo $no ; ?>" accesskey="notAttempt" checked name="optionAns<?php echo $i ; ?>" value="NA">
<p style="color:red;">I am not Attempting this question</p></label>
</div>
</li>
<li class="list-group-item">
<div class="wrp_review">
<div class="radio noMargin bg-danger">
<label>
<input type="checkbox" class="checkedInfo" alt="<?php echo $no ; ?>" accesskey="revision" name="optionAnss<?php echo $i ; ?>" id="optionAns<?php echo $no ; ?>" value="NA">
Revision</label>
</div>
</div>
</li>
</ul>
<?php $i++;$no++; ?>
<?php $sectionOne++;} ?>
以上发送的代码重复三次,分三次。 现在我已经应用了jQuery,
$('.wrp_review').hide();
$('.wrp_radio input[type="radio"]').click(function(){
if($(this).val()=="NA"){
$(this).closest('ul').find('.wrp_review').hide();
$(this).closest('ul').find('.wrp_review input[type="checkbox"]').prop('checked', false);
}else{
$(this).closest('ul').find('.wrp_review').show();
}
});
答案 0 :(得分:0)
这可能是由于缺乏简单的条件检查,bcos你正在检查值是否等于“NA”隐藏修订框否则显示它。您可以通过放置debugger;
语句在浏览器中进行调试,这样您就可以确认自己的代码中没有任何缺陷。
答案 1 :(得分:0)
它解决了。发现没有正确调用所有按钮的类。因此解决了。