Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript隐藏复选框时,请取消选中该复选框_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

使用JavaScript隐藏复选框时,请取消选中该复选框

使用JavaScript隐藏复选框时,请取消选中该复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有一个JavaScript函数用于多项选择题测验: 如果答案为“是”-(通过复选框选中)-则会出现子问题,但如果用户单击“否”,则不会出现子问题 JavaScript $(document).ready(function() { var par = $('#SQ1'); $(par).hide(); $('#Q1').click(function(e) { $(par).slideToggle('slow'); }); }); $(documen

我有一个JavaScript函数用于多项选择题测验:

如果答案为“是”-(通过复选框选中)-则会出现子问题,但如果用户单击“否”,则不会出现子问题

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>

子问题复选框

<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>

我正在将复选框中的值输入到数据库中,问题是如果用户单击“是”,然后从子问题中选择一个框,但随后改变主意,在主要问题上单击“否”,子问题将消失,但是这个框仍然在里面被选中,并被添加到数据库中——我不想这样

有没有办法在单击第一个div中的“否”时取消选中div中的项目


感谢阅读

首先,应该有“是/否”单选按钮,或者只有一个复选框。有几种方法可以达到您的要求。我已经发布了下面最简单的一个。看看是否有帮助

函数showHideSub(已检查){
如果(已检查)
{
$(“#sub”).show()
}
其他的
{
$(“#sub”).hide()
$(“#子输入[类型=复选框]”)。removeAttr(“选中”);
}
}

是/否

是/否
取消选中所有子问题复选框:

$('#Q1NO').click(function(){
     $('#SQ1').hide('slow')
     .find('input:checkbox').prop('checked',false);
});

不带循环的解决方案,因为您可以设置所有查询匹配的属性

 $('#Q1NO').click(function() {
    par.hide('slow');
    par.find("input[type=checkbox]").prop('checked', false);
  });

element.checked=false?您是否尝试使用jQuery<代码>$('chk').prop('checked',false)不,这不起作用我猜您的代码不完整,因为我在您的标记中没有看到#SQ1。另外,我猜您应该在用例中使用单选按钮而不是复选框……我有一些JQuery,所以一次只能选择一个复选框,我不想使用单选按钮。我忘了复制SQ1,请检查上面的编辑当两个答案只有一个复选框时,这怎么可能在数据库字段中插入“是”或“否”?$(“#”+id)。如果选中复选框,则获取(“:checked”)。如果勾选了,则为是,否则为否,我不认为勾选两个复选框是好的用户体验。在设计屏幕时,我们通常会避免将许多用户可见的元素视为好的用户体验。我认为您不理解我在这里实现的是什么,我也不同意在两个复选框中选择是/否会影响用户体验。我的表格示例:你去过法国吗?-是---不(勾选是)你喜欢吗是的,不是