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

时间:2011-05-30 14:20:31

标签: javascript jquery

我正在尝试查找复选框的值,然后如果选中它,则应将我的div id显示为可调整大小。如果没有检查它应该消失。这就是我试过的:

var showheader = document.getElementById("ckbx_header").checked;

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

4 个答案:

答案 0 :(得分:2)

如果您真的想按照自己的意愿行事,请执行以下操作:

if($('#ckbx_header').prop('checked'))
    $("#resizeable").toggle("slide", 1000);

否则,请查看Felix Kling's answer

答案 1 :(得分:2)

您可以将事件处理程序绑定到change事件:

$('#ckbx_header').change(function() {
     if(this.checked) {
         $("#resizeable").slideDown(1000);
     }
     else {
         $("#resizeable").slideUp(1000);
     }
});

在任何情况下,您都需要两个操作:选中复选框时显示div,如果没有则隐藏它。目前,只要选中此复选框,您就会切换可见性,这不是您想要的。

答案 2 :(得分:0)

你不需要if中的额外检查,checked值返回一个布尔值。

这样可行:

var showheader = document.getElementById('test').checked;

if(showheader)
 $("#resizeable").toggle("slide",{},1000)

答案 3 :(得分:0)

如果你有jQuery,你应该完全使用它并执行:

if ($("#ckbx_header:checked").length) {
    $("#resizeable").toggle("slide", {}, 1000) );
};

如果元素是选中的复选框,则:checked选中器将匹配。