在JQuery中通过复选框显示隐藏div

时间:2011-11-08 07:55:21

标签: jquery

JQuery的:

$('#chkCaption').live("click", function() {
    if ($('#chkCaption').attr("checked")) {
        $('#divCaption').show();
    }
    else {
        $('#divCaption').hide();
    }
});

但它不起作用。帮助找到我的错误或建议方式。谢谢。

7 个答案:

答案 0 :(得分:5)

而不是

$('#chkCaption').attr('checked')

你可能想试试这个:

$(this).is(':checked')

答案 1 :(得分:3)

试试这个:

$('#chkCaption').live("click", function() {
    if (this.checked) {
        $('#divCaption').show();
    }
    else {
        $('#divCaption').hide();
    }
});

这应该在document.ready。

您可以使用javascript属性attr

而不是Jquery ischecked

答案 2 :(得分:1)

你刚忘了show()

上的函数声明parens
$('#chkCaption').live("click", function() {
    if ($('#chkCaption').attr("checked")) {
        $('#divCaption').show();
    }
    else {
        $('#divCaption').hide();
    }
});

答案 3 :(得分:1)

在jQuery 1.9中,.live()被删除了。因此,如果使用javascript .checked:

,实际答案会发生变化
$('#chkCaption').on("click", function() {
  if (this.checked) {
    $('#divCaption').show("table-row");
  }
  else {
    $('#divCaption').hide();
  }
});

在纯jQuery中:

$('#chkCaption').on("click", function() {
  if ($(this).is(":checked")) {
    $('#divCaption').show();
  }
  else {
    $('#divCaption').hide();
  }
});

答案 4 :(得分:0)

$('#chkCaption').click(function () {

        if ($(this).is(':checked')) {

            //Show div
        } else {
            //Hide div
        }
});

应该这样做;)

答案 5 :(得分:0)

您缺少(),TRY

$('#chkCaption').live("click", function() {
    if ($('#chkCaption').prop("checked")) {
        $('#divCaption').show();
    }
    else {
        $('#divCaption').hide();
    }
});

DEMO

答案 6 :(得分:-2)

$('#chkCaption').live("click", function() {
    if ($('#chkCaption').is(":checked")) {
        $('#divCaption').show();
    }
    else {
        $('#divCaption').hide();
    }
});