如何javascript 实现 当checkbox状态发生改变时,触发某一事情?比如:有三个复选框 A  B  C当选择其中一个时(不管是选择还是取消选择),就检测ABC是否有选择被选中。
我用onmouseup或onchang都不行。都是得出选择前的状态。如最初ABC都是没有被选中状态,当第一次点其中一个时,结果是所有的未选,而不是应该得到的已经有其中一个被选中。请问如果实现?

解决方案 »

  1.   

    onclick
    onchange
    onmousedown
    应该都可以
      

  2.   

    用onclick和onchange都可以吧,你要实现点击之前的状态,你可以这样,就循环三个复选框啊,如果三个复选框刚好是本身的话,你那就让它反状态就行了嘛,其他就获取原先状态就行了
      

  3.   

        <html>
        <head>
            <title>get file input full path</title>
    <script type="text/javascript" src="jquery.js"></script>
             <script>
     $(function(){
     $('.test').click(function(){
     if($(this).click){
     if($('#c1').attr("checked")==true){
     alert("c1");
     }
     if($('#c2').attr("checked")==true){
     alert("c2");
     }
     if($('#c3').attr("checked")==true){
     alert("c4");
     }
     if($('#c4').attr("checked")==true){
     alert("c4");
     }
     }
     });
     });
            </script>
        </head>
        <body>
            <input type="checkbox" id="c1" class="test" />aa  
    <input type="checkbox" id="c2" class="test" />bb
    <input type="checkbox" id="c3" class="test" />cc
    <input type="checkbox" id="c4" class="test" />dd
            
        </body>
        </html>这样貌似可以,不过需要改进~~~
      

  4.   

    <input type="checkbox" id="c1" class="test"  onchange="f(this)"/>aa  
    <script type="text/javascript" >
    function f(obj)
    {
       if(obj.checked==true)
       {
              alert(“我被选中了!”);
       }
       else
       {
         alert(“我未被选中!”);
       }
    }
    </script>
      

  5.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
       
      <script Language="javascript">  
      function checkedThis(obj){  
      var boxArray = document.getElementsByName('test');  
      for(var i=0;i< boxArray.length; i++){  
      if(boxArray[i].checked){  
       boxArray[i].checked = false;  
      }
      }
      obj.checked = true;  
      }   </script>
     </HEAD> <BODY>
    <input type="checkbox" name="test" onclick="checkedThis(this)" checked="checked">男
    <input type="checkbox" name="test" onclick="checkedThis(this)">女
    <input type="checkbox" name="test" onclick="checkedThis(this)">人妖
     </BODY>
    </HTML>
      

  6.   

    我确实是想在复选框状态必改之后触发事件(有多个复选框为一组),onclick应该是不行了。但是用onChang也不行。上面的答案都没复杂到期望结果
      

  7.   


    我明白你的意思了,但是要用onmouseup才可以,谢谢!