现在有一个需求,就是页面上任何一个input type=checkbox 的状态改变了 都触发一个事件,
由于页面上checkbox实在太多,没法一个一个去获取id触发事件~~,请问有没比较好的解决方案??

解决方案 »

  1.   

    document.getElementsByTagName("input")type=='checkbox'.onclick=function(){};
      

  2.   

    document.getElementsByTagName("input").onclick = function() {
        var table = document.getElementsByTagName("table");
        if (table.length != 0) {
            for (var j = 0; j < table.length; j++) {
                var chb = table[j].getElementsByTagName("input");
                if (chb.length != 0) {
                    for (var k = 1; k < chb.length; k++) {
                        if (chb[k].checked == true) {
                            chb[0].checked == true;
                        }
                        break;
                    }
                }
            }
        }
    }
    ---这样写行吗? 但是这条语句只在页面第一次加载的时候执行??
      

  3.   

    可以用Jquery试试:<script language="javascript" type="text/javascript" src="Scripts/Jquery.js"></script>
    <script language="javascript" type="text/javascript">
    $(function(){
    $("input:radio").bind('click',function(){
    alert(this.id);
    });
    });

    </script>
      

  4.   


    document.getElementsByTagName("input")得到的是一个数组,所以得一个一个添加事件,加个循环就行了
      

  5.   

    我这样写了还是不行~~??
    var tables = document.getElementsByTagName("table");
    for (var i = 0; i < tables.length; i++) {
        var chbs = tables[i].getElementsByTagName("input");
        if (chbs.length > 0) {
            for (var k = 1; k < chbs.length; k++) {
                if (chbs[k].type == "checkbox") {
                    chbs[k].onclick = function() {                    if (chbs[k].checked = true) {
                            chbs[0].checked = true;
                        }                }
                }
                break;
            }
        }
    }
      

  6.   


    /*if (chbs[k].checked = true) { */if(this.checked==true)//两个等号
        chbs[0].checked = true; 

      

  7.   

    document.getElementsByTagName("input") type=='checkbox' .onclick=function(){}; 
      

  8.   

    只用IE的飘过。<script type="text/javascript"> 
    function go()
    {
        var oEle = event.srcElement;
        if((oEle.tagName.toLowerCase() == "input" ) && 
           (oEle.type.toLowerCase() == "checkbox"))
        {
            alert(oEle.value);
        }
    }
    </script>
    <body onclick="go()">
    <input id="o1" type="checkbox" value="a" />a
    <input id="o2" type="checkbox" value="b" />b
    <input id="o3" type="checkbox" value="c" />c
    <input id="o4" type="checkbox" value="d" />d
    <input id="o5" type="checkbox" value="e" />e
    </body>
      

  9.   

    var tables = document.getElementsByTagName("table"); 
    for (var i = 0; i < tables.length; i++) { 
    var chbs = tables[i].getElementsByTagName("input"); 

    if (chbs.length > 0) { 
    for (var k = 1; k < chbs.length; k++) { 

    if (chbs[k].type == "checkbox") { 
    chbs[k].onclick = function() { 
    if (this.checked) { 
    chbs[0].checked = true; 



    //break; 


    }注意:
    chbs[k].onclick = function() {                     if (chbs[k].checked = true) { 
                            chbs[0].checked = true; 
                        }                 } 改为:
    chbs[k].onclick = function() {                     if (this.checked) { 
                            chbs[0].checked = true; 
                        }                 } 
      

  10.   


     <BODY>
      <input type="checkbox" value="a"/>
      <input type="checkbox" value="b" />
      <input type="checkbox" value="c" />
      <input type="checkbox" value="d" /> </BODY>
       <script language="javascript">
    var objs = document.getElementsByTagName("input")
    for (i=0;i<objs.length;i++ ){
    if(objs[i].type=="checkbox"){
    document.getElementsByTagName("input")[i].onclick = function (){
    alert(this.value)
    }
    }
    }
    </script>