我有一个用于多项选择测验的 JavaScript 函数:
如果答案为"is"-(通过复选框选中)- 将出现一个子问题,但如果用户单击“否”,则不会出现子问题。
JavaScript
$(document).ready(function() {
var par = $('#SQ1');
$(par).hide();
$('#Q1').click(function(e) {
$(par).slideToggle('slow');
});
});
$(document).ready(function(){
$('#Q1NO').click(function(){
$('#SQ1').hide('slow');
});
})
问题复选框
<div>
<input type="checkbox" id="Q1" name="chk[]" value="Yes"> Yes</input>
<br>
<input type="checkbox" id="Q1NO" name="chk[]" value="No"> No</input>
</div>
子问题复选框
<div id="SQ1">
<div>
<input type="checkbox" name="chk[]" value="Yes 2" id="Q1R"> Yes</input>
<br>
<input type="checkbox" name="chk[]" value="No 2"> No</input>
</div>
</div>
我正在将复选框中的值输入数据库,问题是,如果用户单击"is",然后从子问题中选择一个框,但随后改变主意并在主问题上单击“否”问题,子问题将会消失,但其中的框仍然被选中,并且它被添加到数据库中 - 这是我不想要的。
有没有办法在第一个 div 中单击“否”时取消选中 div 中的项目?
感谢您的阅读
最佳答案
取消选中所有子问题复选框:
$('#Q1NO').click(function(){
$('#SQ1').hide('slow')
.find('input:checkbox').prop('checked',false);
});
关于javascript - 使用 JavaScript 隐藏复选框时取消选中该复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179882/