Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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 使用jQuery从下拉列表中选择复选框按钮时显示/隐藏特定DIV_Javascript_Jquery_Jquery Ui - Fatal编程技术网

Javascript 使用jQuery从下拉列表中选择复选框按钮时显示/隐藏特定DIV

Javascript 使用jQuery从下拉列表中选择复选框按钮时显示/隐藏特定DIV,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我正在尝试设置一个选择复选框按钮,使用jQuery,当选择复选框按钮将隐藏opt2 DIV,取消选择复选框,然后显示DIV时,从中选择复选框。我的大部分功能都在工作,我只是无法将隐藏DIV显示为选中的取消选择。这是我目前的代码: <style type="text/css"> .desc{ display: none; } </style> <div> Delivery Details</div> <label><inp

我正在尝试设置一个选择复选框按钮,使用jQuery,当选择复选框按钮将隐藏opt2 DIV,取消选择复选框,然后显示DIV时,从中选择复选框。我的大部分功能都在工作,我只是无法将隐藏DIV显示为选中的取消选择。这是我目前的代码:

<style type="text/css">
    .desc{ display: none; }
</style>

<div> Delivery Details</div>
<label><input type="checkbox" name="group1" value="opt2">Same as Billing Details</label>
<div id="opt2" class="desc"> Billing Details Form</div>


$(document).ready(function(){ 
    $("input[name$='group1']").click(function() {
        var test = $(this).val();
        $("div.desc").show();
        $("#"+test).hide();
    }); 
});

我能做什么?

您总是通过class.desc显示这两个div,并隐藏第二个div。您永远不会隐藏第一个-即使在两次单击后,它也会在您使用show时保持可见

替换$div.desc.show

使用$div.desc.toggle

这将切换显示状态,首先单击它将显示,然后单击它将隐藏等

请试试这个

$("input[name$='group1']").click(function () {
    $("div.desc").toggle(this.checked);
});

请参考先前的Stackoverflow帖子,该帖子在Nisam的基础上进行了改进,答案如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<style type="text/css">
    .desc{ display: none; }
</style>
</head>

<body>
<script src = "jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){ 
    $("input[name$='group1']").click(function() {
        var test = $(this).val();
        if($("div.desc").css('display') == 'none')
            $("div.desc").css('display','block');
        else if($("div.desc").css('display') == 'block')
            $("div.desc").css('display','none');
            //$("#"+test).hide();
    }); 
});
</script>
<label><input type="checkbox" name="group1" value="opt2">opt1</label>

<div id="opt1" class="desc">lorem ipsum dolor</div>
<div id="opt2" class="desc">consectetur adipisicing</div>
</body>
</html>
$("input[name$='group1']").change(function () {
  $("div.desc").toggle(this.checked);
});

onclick将错过键盘更改。

单击复选框后隐藏div…另一方面显示div