JQuery Checkbox问题

时间:2010-07-12 08:56:16

标签: javascript jquery

我有动态页面。

有多个复选框和&amp;我正在使用此脚本仅在选中复选框时显示其受尊重的<div>

        $(document).ready(function() { 
          $("#checkbox$").click(function() { 
            if (this.checked) {
              $('#appear_div$').fadeIn('slow'); 
            }
            else {
              $('#appear_div$').fadeOut('slow'); 
            }
          }); 
        });   

    // Here $ is unique ID number for each <div> as my content is dynamic & 
    // I am using {foreach} tag.

现在,我有另一个我希望以上所有内容出现的父母。

但如果没有选中上述复选框,请隐藏此父div。

这是我正在使用的代码

function doInputs(obj){
 var checkboxs = $("input[type=checkbox]:checked");
 var i =0, box;
 $('#parent_div').hide();         
     while(box = checkboxs[i++]){
     if(!box.checked);
     $('#parent_div').show();
     break;              
     }
}

除了这个问题,这段代码工作正常......

说,

我查看了Checkbox ID 1 ---&gt; #parent_div show ---&gt; #shown_div1 show -

我查看了Checkbox ID 2 ---&gt; #parent_div show ---&gt; #shown_div2 show -

,然后

我取消选中复选框ID 1 ---&gt; #parent_div show ---&gt; #eyes_div1隐藏 -

我取消选中复选框ID 2 ---&gt; #parent_div隐藏---&gt; #eject_div2隐藏 -

然后再次

我取消选中复选框ID 2 ---&gt; #parent_div显示---&gt; #appeout_div2显示 -

现在这是问题......

即使没有选中复选框ID 1我也可以在#parent_div中看到#append_div1。

为什么?我哪里错了???

感谢。

1 个答案:

答案 0 :(得分:1)

    $(document).ready(function() { 
      $("#checkbox$").click(function() { 
        if (this.checked) {
          $('#appear_div$').fadeIn('slow'); 
        }
        else {
          $('#appear_div$').fadeOut('slow'); 
        }
        if ($("input:checkbox:checked").length){
             $('#parent_div').show();
        } else {
             $('#parent_div').hide();
        }
      }); 
    });

demo