jQuery - 在页面加载时单击复选框时使 Div 可见(如果已选中)

cit*_*nen 3 html java jquery

当使用 jQuery/Java 单击复选框时,我需要使 div 可见。“已检查”来自数据库,因此我还需要检查该复选框是否已在页面加载时选中。

这是我目前所拥有的:

<input type="checkbox" name="foo" value="1" onclick="$(this).is(':checked') && $('#checked-a').slideDown('slow') || $('#checked-a').slideUp('slow');"/>

<div class="dis-sub" style="display: none;" id="checked-a">
    ...
</div>
Run Code Online (Sandbox Code Playgroud)

该代码按原样工作以显示/隐藏 div。我需要一个检查页面加载的解决方案,以查看复选框是否已被选中(在这种情况下,由数据库中的 PHP 动态选中)。

提前致谢。

Shy*_*yju 5

我想从您的 HTML 标记中删除 onclick javascript 调用并放入您的脚本文件中。这使代码更清晰。

当您选中复选框时,这将更改可见性。(假设复选框具有 id "foo" )

$("#foo").change(function(){

   var ischecked=$(this).is(':checked'); 
    if(ischecked)
    {
         $("#checked-a").fadeIn(200);
    }
    else
    {
        $("#checked-a").fadeOut(200);   
     }

});
Run Code Online (Sandbox Code Playgroud)

如果您想检查数据库中的值并更改可见性,您可以在 html 中设置选中的属性值(使用从数据库中获取的 PHP 变量值),然后检查复选框的选中属性的值并更改能见度

HTML

   <input type="checkbox" id="foo" value="1" checked="checked"/>
<div style="display:none;" id="checked-a">
    Some content
</div>
Run Code Online (Sandbox Code Playgroud)

Javascript

 $(function(){

    var ischecked=$("#foo").is(':checked'); 
   if(ischecked)
   {
       $("#checked-a").fadeIn(200);
   } 
    else
    {
        $("#checked-a").fadeOut(200);   
     }

});
Run Code Online (Sandbox Code Playgroud)

这是示例:http : //jsfiddle.net/Uj4QJ/9/