使用JavaScript隐藏复选框时,请取消选中该复选框
Make a checkbox unchecked when it is hidden using JavaScript
我有一个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"> 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>
我正在将复选框中的值输入到数据库中,问题是,如果用户单击"是",然后从子问题中选择一个框,但随后改变主意,在主问题上单击"否",子问题将消失,但框仍在其中选中,并被添加到数据库中——这是我不想要的。
有没有一种方法可以在第一个div中单击"否"时取消选中div中的项目?
感谢阅读
取消选中所有子问题复选框:
$('#Q1NO').click(function(){
$('#SQ1').hide('slow')
.find('input:checkbox').prop('checked',false);
});
首先,应该有"是/否"单选按钮,或者只有一个复选框。有几种方法可以满足您的要求。我在下面发布了最简单的一个。看看它是否有帮助。
function showHideSub(isChecked){
if(isChecked)
{
$("#sub").show()
}
else
{
$("#sub").hide()
$("#sub input[type=checkbox]").removeAttr("checked");
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<input type="checkbox" id="Q1" name="chk[]" onclick="showHideSub(this.checked)" value="Yes"> Yes / No </input>
<br>
</div>
<div id="sub" style="display:none">
<input type="checkbox" name="chk[]" value="Yes 2" id="Q1R"> Yes/No</input>
</div>
无循环的解决方案,因为您可以设置所有查询匹配的属性。
$('#Q1NO').click(function() {
par.hide('slow');
par.find("input[type=checkbox]").prop('checked', false);
});
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- 使用jquery选中/取消选中单个复选框
- 使用javascript在页面加载时取消选中所有复选框
- (取消)使用单独的复选框激活复选框列表
- jQuery-取消选中复选框
- 单击或取消选中复选框时,如何创建弹出的自定义窗口
- Javascript选中/取消选中所有复选框并将值写入文本区域
- dojo/cbtree取消选中所有复选框并选中选中复选框
- 通过选中和取消选中复选框来添加和删除数组中的值
- 当与之关联的 ng-model 为 false 时,Angularjs 复选框值不会取消选中
- 如何通过jQuery选中所有复选框并在单击一个复选框时取消选择
- 使用Javascript根据组中的值选中或取消选中复选框
- 选中和取消选中 JavaScript 中的复选框
- 可以't取消选中该复选框(取消选中复选框时隐藏内容)
- 在复选框取消选中事件中从HTML下拉列表中删除项目
- 如何使用复选框取消选中来清除单选按钮
- 复选框取消单击事件Javascript
- 选中复选框(取消)时显示另一个文本
- Javascript复选框取消选中其他复选框,反之亦然