繁体   English   中英

显示div并使用复选框隐藏另一个div

[英]show div and hide another div using checkbox

checkbox1时,我需要隐藏div1并显示div2

我用下面的代码,但没有用

<script type="text/javascript">
    function valueChanged() {
        if ($('.checkbox1').is(":checked"))
            $(".div2").show();
        else
            $(".div1").hide();
    }
</script>

HTML

<input type="checkbox" name="checkbox1" onchange="valueChanged()"  />
<div class="row" id="div1">Show Div 1</div>
<div class="row" id="div2" style="display: none">Show Div 2</div>

相反,您可以只使用toggle()

 function valueChanged() { $('.row').toggle(); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" name="checkbox1" onchange="valueChanged()" /> <div class="row show" id="div1">Show Div 1</div> <div class="row" id="div2" style="display: none">Show Div 2</div> 

如果您想保留它基于JS的逻辑,那是不正确的。 以下更正:

HTML更新:

<input id="checkbox1" type="checkbox" name="checkbox1" onchange="valueChanged()">
<div class="row" id="div1">Show Div 1</div>
<div class="row" id="div2" style="display: none;">Show Div 2</div></div>

使用Javascript:

<script type="text/javascript">
    function valueChanged() {
        if ($("#checkbox1").is(":checked")) {
            $("#div2").show();
            $("#div1").hide();
        } else {
            $("#div1").show();
            $("#div2").hide();
        }
    }
</script>

如果您只想使用CSS来实现,则也可以在复选框中添加类或ID,并使用~选择器。 您还希望删除div2上的嵌入式显示。

#div2 { display:none; }
#checkbox:checked ~ #div1 { display:none; }
#checkbox:checked ~ #div2 { display:block; }

您的代码不正确。 应该是这样的:

 function valueChanged() { if ($('#checkbox1').is(":checked")) { $("#div1").hide(); $("#div2").show(); } else { $("#div1").show(); $("#div2").hide(); } } // OR you could just use toggle() function valueChanged2() { $('.row').toggle(); } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> <input type="checkbox" id="checkbox1" onchange="valueChanged()" /> <div class="row" id="div1">Show Div 1</div> <div class="row" id="div2" style="display: none">Show Div 2</div> 

您使用的元素访问不正确

<script type="text/javascript">
    function valueChanged() {
        if ($(this).is(":checked"))
            $("#div2").show();
        else
            $("#div1").hide();
    }
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM