如果复选框已取消选中,则显示DIV

时间:2012-08-23 13:27:38

标签: jquery

我试图在取消选中复选框时显示div,如果选中则隐藏它。我有这个,但我似乎错过了一些东西:

http://jsfiddle.net/XyUWV/8/

HTML:

<input name="billing_check" id="billing_check" type="checkbox" class="billing_check" size="40"  checked="checked"/>

<div class="registration_box01 showme">
          <div class="title">
            <h4>billing information - infomration associated with your credit card<br />
            </h4>
          </div>
</div>

使用Javascript:

$("input[name='billing_check']").change(function() {
  (".showme").toggle($("input[name='mycheckboxes']:checked").length>0);
});

风格:

.showme{
    display:none;
}

4 个答案:

答案 0 :(得分:1)

我认为如果mycheckboxesbilling_check,您可能会检查错误的复选框。另外,您可以检查.length,而不是.is(':checked'),而不是$('#billing_check').change(function() { $('.showme').toggle(!$(this).is(':checked')); });

{{1}}

jsFiddle demo

答案 1 :(得分:1)

就像Felix Kling所说,你需要在jquery函数之前设置$。但主要的错误是错误的输入名称mycheckboxes名称billing_check将起作用。

<强> HTML

<input name="billing_check" id="billing_check" type="checkbox" class="billing_check" size="40"  checked="checked"/>

<div class="registration_box01 showme">
  <div class="title">
    <h4>billing information - infomration associated with your credit card<br />
    </h4>
  </div>
</div>

<强> CSS

.showme{
    display:none;
}

<强> JS

$('#billing_check').change(function() {     
    $('.registration_box01').toggle(!$(this).is(':checked'));
});

<强> DEMO

答案 2 :(得分:0)

我会通过id引用该复选框,并使用.is(“:checked”)

http://jsfiddle.net/XyUWV/12/

答案 3 :(得分:0)

您可以这样做,但未经过测试

$("#billing_check").click(function()
{
    if(this.checked)
    {
        $(".registration_box01").hide();
    }else
    { 
        $(".registration_box01").show();
   }
});