javascript - 选中另一个框时 JavaScript 取消选中框
问题描述
我的 JS 代码有问题。
我有 2 个复选框。何时检查的每个复选框将显示不同的 div 信息。用户可以选择只选中一个复选框。当我按选项 1 时,将显示 div。如果我取消选中选项 1,则 div 将消失。还行吧。问题是当我检查第二个选项而不手动取消选中时,所有 div 都会显示。我试图搜索像我这样的问题,但我没有找到正确的答案。谢谢你的帮助。
JS
<script type="text/javascript">
function showMe (box) {
var chboxs = document.getElementsByName("o1");
var vis = "none";
for(var i=0;i<chboxs.length;i++) {
if(chboxs[i].checked){
vis = "block";
break;
}
}
document.getElementById(box).style.display = vis;
}
function cbChange(obj) {
if(obj.checked)
{
var cbs = document.getElementsByName("o1");
for (var i = 0; i < cbs.length; i++) {
cbs[i].checked = false;
}
obj.checked = true;
}
}
</script>
HTML
<input type="checkbox" name="o1" class="checked" onclick="showMe('div1')" onchange='cbChange(this)'>Option 1 - Recommended
<div class="clear"></div>
<input type="checkbox" name="o1" class="checked" onclick="showMe('div2')" onchange='cbChange(this)'>Option 2 - Optional
解决方案
<script type="text/javascript">
$(document).ready(function(){
$('input[type="radio"]').click(function(){
var inputValue = $(this).attr("value");
var targetBox = $("." + inputValue);
$(".box").not(targetBox).hide();
$(targetBox).show();
});
});
</script>
<input type="radio" name="colorRadio" value="option1"> Option 1 - Recommended
<div class="clear"></div>
<input type="radio" name="colorRadio" value="option2"> Option 2 - Optional
<div id="div2" class="option2 box" style="display: none">
<div id="div1" class="option1 box" style="display: none">
推荐阅读
- r - 连接两个数据库时R中的Sqldf错误
- perl - 使用 XML::TWIG 从 XML 文件中获取特定的原始元素及其子元素?
- java - Spring Boot 使用新前缀扩展现有属性类
- python - 使用 sqlalchemy 将未更改的对象提交到数据库是否浪费?
- perl - 在数学结果旁边打印字符串,用 /e 修饰符替换 s//
- vue.js - 使用 axios 和 Vue 调用 Twitch API
- angular - 使用 Angular cli (ng build) 构建后代码中的错误
- wso2 - 如何在 siddhi 聚合查询中使用“select concat(col)”?
- flask - Tiangolo烧瓶docker镜像配置不使用端口80
- mysql - 警告:mysqli_select_db() 期望参数 1 为 mysqli,字符串在第 34 行的 C:\xampp\htdocs\account\classes\class.sql.php 中给出