javascript - 使用 JavaScript 隐藏复选框时取消选中该复选框

标签 javascript jquery html checkbox

我有一个用于多项选择测验的 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">&nbsp;Yes</input>
<br>
    <input type="checkbox" id="Q1NO" name="chk[]" value="No">&nbsp;No</input>
</div>

子问题复选框

  <div id="SQ1">
<div>
    <input type="checkbox" name="chk[]" value="Yes 2" id="Q1R">&nbsp;Yes</input>
<br>
    <input type="checkbox" name="chk[]" value="No 2">&nbsp;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/

相关文章:

javascript - 如果复选框被选中/未选中,启用/禁用提交按钮?

javascript - 文件加载不正确

javascript - 如何在 ui-router 中将可选状态参数保存在浏览器上?

javascript - 将 jQuery 代码设置为在函数完成后触发

jquery - 页面浏览量 - 浏览计数器

javascript - CKEDITOR 在 IE 上 getElementsByTag 时丢失自定义节点

html - 如何覆盖 Twitter Bootstrap 中按钮的链接颜色和边距/填充?

jquery - 使用 jQuery 在页面加载时创建默认列表项

javascript - 在 Microsoft Ajax 中,$find 究竟做了什么?

html - 向行添加新的 div 会导致换行