如果在 Sharepoint 设计器上勾选了复选框,我如何显示 div?

How can I show a div if checkbox is ticked on Sharepoint designer?

我不知道为什么这段代码不起作用,但是当我选中复选框时它不起作用。 div 只是保持隐藏状态。我以前做过,但是这次不行了。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ Page Language="C#" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="WebPartPageExpansion" content="full" />
<meta charset="utf-8">
<title>jQuery Show Hide Using Checkboxes</title>
<script type="text/javascript" src="../SiteAssets/jquery-1.11.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $('input[type=checkbox]').change(function(){
        var checked = $(this).attr('checked');
        if (checked) {
           $('.other').show();             
        } else {
            $('.other').hide();
        }
    });        
});
</script>
</head>
<body>
<div name="main">

    <input type="checkbox" /> If this is checked display div
</div>
<div class='other' name='other' title='other' style='display:none;'>  
<h2>test</h2>
<input></input>
<input></input>
<input></input>
</div>
</body>
</html>   

我做错了什么?我想不通。谢谢

CHECK THIS:

您正在使用 attr 那 returns undefined

  var checked = $(this).attr('checked');
    if (checked) {    //here checked is not a boolean 

永远记住

.prop('checked') returns 布尔值

所以使用 .prop() 。休息很好。

希望对您有所帮助:)

因为复选框中没有属性 checked。所以它返回 undefined。你可以通过 this.checked 直接访问 属性。

  $(document).ready(function(){
        $('input[type=checkbox]').change(function(){
            var checked = this.checked;
            if (checked) {
               $('.other').show();             
            } else {
                $('.other').hide();
            }
        });        
    });