javascript - 根据复选框选择隐藏/显示 div

标签 javascript html

我想根据复选框选择显示/隐藏 div。

这是场景,

  • 我在名为 decider 的 div 中有两个复选框,
  • 选择复选框一应显示 Div box-one
  • 选择复选框二应显示 Div box-two

一旦有人做出选择,我希望隐藏决策者 div。我无法完成这项工作

$(function() {
	$('.decider').removeClass('hide');
	$('.box-one').addClass('hide');
    
	$("#optionTwo").click(function() {
	    $('#optionOne').attr("checked",false);
	});

	$("#optionOne").click(function() {
	    $('#optionTwo').attr("checked",false);
	});

	$("#send-decide").click(function() {
		if($('#optionTwo').is(':checked')){
			$('.decider ').addClass('hide');
			$('.box-one').removeClass('hide');
		}
		if($('#optionOne').is(':checked')){
			$('.decider ').addClass('hide');
			$('.box-two').removeClass('hide');
		}
	});
});
<div class="decider hide">
  <p style="font-size:10px;color:#000;">Please select an option below</p>
  <label class="checkbox">
    <input id="optionTwo" type="checkbox" name="Request" value="Request" />
    Select Box one </label>
  <label class="checkbox">
    <input id="optionOne" type="checkbox" name="Download" value="Download" />
    Select Box two </label>
  <br />
  <span class="select"> 
    <input type="button" id="send-decide" alt="submit" value="select" />
  </span> </div>
  
<div class="box-one">
  <p>this is first box</p>
</div>

<div class="box-two hide">
  <p>this is second box</p>
</div>

最佳答案

您缺少 .hidedisplay:none 属性 css.. 其余一切都很好

$(function() {
	$('.decider').removeClass('hide');
	$('.box-one,.box-two').addClass('hide');//add hide to both the class
    
	$("#optionTwo").click(function() {
	    $('#optionOne').attr("checked",false);
	});

	$("#optionOne").click(function() {
	    $('#optionTwo').attr("checked",false);
	});

	$("#send-decide").click(function() {
        if($('input[type="checkbox"]:checked').length)//check whether any checkbox is checked
        {
            //if yes go ahead and do what you wanted to do
            $('.decider ').addClass('hide'); //hide it in any case
            if($('#optionTwo').is(':checked')){
                $('.box-one').removeClass('hide');
            }
            if($('#optionOne').is(':checked')){
                $('.box-two').removeClass('hide');
            }
        }
        else
          alert('select a checkbox');//if not display some message to user
	});
});
.hide{
  display:none; //add this property
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="decider hide">
  <p style="font-size:10px;color:#000;">Please select an option below</p>
  <label class="checkbox">
    <input id="optionTwo" type="checkbox" name="Request" value="Request" />
    Select Box one </label>
  <label class="checkbox">
    <input id="optionOne" type="checkbox" name="Download" value="Download" />
    Select Box two </label>
  <br />
  <span class="select"> 
    <input type="button" id="send-decide" alt="submit" value="select" />
  </span> </div>
  
<div class="box-one">
  <p>this is first box</p>
</div>

<div class="box-two">
  <p>this is second box</p>
</div>

关于javascript - 根据复选框选择隐藏/显示 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325232/

相关文章:

javascript - 捕获WebSocket异常: "Error during WebSocket handshake: Unexpected response code: 503"

javascript - 为什么我在调用函数时出错?

javascript - document.write 的真正目的是什么?

html - 制作 HTML 表单元素 'display only' - 非交互式

javascript - 在 bootstrap col/row 中垂直居中 img

javascript - 如何在输入的 Bootstrap Datepicker 中只显示年份?

javascript - 我的第一个主干模型/ View 。我在正确的轨道上吗?

javascript - 交换对象数组中的元素

php - 使用 javascript 获取最后添加的字段数

Javascript:无论滚动如何,查找div相对于视口(viewport)的位置