如果选中任何复选框,则显示div!

时间:2010-06-20 06:20:32

标签: javascript jquery

我正在开发动态网站,其中多个复选框包含唯一ID

我想要的是,如果选中任何复选框,则会显示新的<div> &amp;如果取消选中所有复选框,则会消失

javascripts的新手,需要你的帮助。

感谢

3 个答案:

答案 0 :(得分:1)

建议学习Jquery

http://jquery.org/

你可以把像chekboxid1,checkboxid2 ......这样的提升id。

并检查是否都要检查:

$('[id^=checkboxid]').live('click', function(){
var total = {insert the sum of checkbox}
    if($("[id^=checkboxid]:checked").length == total){
    // do something
}
});

知道所有未选中的内容是否比较长度0而不是总数。

另一个更详细的链接:

http://charlie.griefer.com/blog/index.cfm/2009/8/14/jQuery--Accessing-Checked-Checkboxes

答案 1 :(得分:1)

<style>
 #appear_div {
     display: none;
 }
</style>

<script type="text/javascript">
 function doInputs(obj){
 var checkboxs = $("input[type=checkbox]:checked"); 
 var i =0, box;
 $('#appear_div').fadeOut('fast');
     while(box = checkboxs[i++]){
     if(!box.checked)continue;
     $('#appear_div').fadeIn('fast');
     break;
     }
 }
 </script>

 <form>
 <input type="checkbox" name="c1" onclick="doInputs(this)">
 <input type="checkbox" name="c1" onclick="doInputs(this)">
 <input type="checkbox" name="c1" onclick="doInputs(this)">
 <input type="checkbox" name="c1" onclick="doInputs(this)">
 <input type="checkbox" name="c1" onclick="doInputs(this)">
 </form>
 <div id="appear_div">
 <input type="text">
 </div>

这对我有用。

由于

答案 2 :(得分:1)

我最近不得不使用jQuery做类似的事情。

首先隐藏区域onload以便用户看不到它

 <style>
     #div2appear{
         display: none;
     }
 </style>

然后是表单元素

 <form id="AllTheseFields">
   <input type="checkbox" name="c1" />
   <input type="checkbox" name="c1" />
   <input type="checkbox" name="c1" />
   <input type="checkbox" name="c1" />
   <input type="checkbox" name="c1" />
   <div id="div2appear">
     <input type="text" />
   </div>
 </form>

和jQuery

 <script type="text/javascript">
    $('#AllTheseFields>input[type=checkbox]').change(
       function(){
           if($('#AllTheseFields>input[type=checkbox]').is(':checked')){
                  // if any of the checkboxes are checked then make the area visible
                  $('#div2appear').show(); 
           }else{
                  // only if all are unchecked will this fire and hide the area
                  $('#div2appear').hide();
           }
       }
    );
 </script>