如果选中复选框,则显示div,反之亦然

问题描述

| 我正在尝试查找复选框的值,然后如果将其选中,它将显示我的div ID为可调整大小。如果未选中,则应消失。这是我尝试的:
var showheader = document.getElementById(\"ckbx_header\").checked;

if ( showheader == checked ) {
    $(\"#resizeable\").toggle(\"slide\",{},1000) );
  };
    

解决方法

        您可以将事件处理程序绑定到
change
事件:
$(\'#ckbx_header\').change(function() {
     if(this.checked) {
         $(\"#resizeable\").slideDown(1000);
     }
     else {
         $(\"#resizeable\").slideUp(1000);
     }
});
无论如何,您都需要执行两个操作:选中复选框时显示div,如果未选中则将其隐藏。当前,无论何时选中复选框,您都将切换可见性,这不是您想要的。     ,        如果您确实要按照自己的意愿去做,请执行以下操作:
if($(\'#ckbx_header\').prop(\'checked\'))
    $(\"#resizeable\").toggle(\"slide\",1000);
否则,请看Felix Kling的答案     ,        如果不需要,则不需要额外的检查,检查的值返回一个布尔值。 这将工作:
var showheader = document.getElementById(\'test\').checked;

if(showheader)
 $(\"#resizeable\").toggle(\"slide\",{},1000)
    ,        如果您拥有jQuery,则应在imo中完全使用它并执行以下操作:
if ($(\"#ckbx_header:checked\").length) {
    $(\"#resizeable\").toggle(\"slide\",1000) );
};
:checked选择器仅在元素为选中复选框时才匹配。