本帖最后由 zsyok 于 2010-08-30 11:34:48 编辑

解决方案 »

  1.   

    是的!看例子吧
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css">
    body { font:12px/25px Arial; text-align:center; }
    .tableMain { width:400px; margin:50px auto 0; }
    .tableMain, .tableMain th { border-collapse:collapse; border:1px solid #000; }
    .scrollTable { height:200px; overflow-x: hidden; overflow-y: auto; width: 100%; }
    .scrollTable .odd td { background:#ccc; border-bottom:1px solid #000; border-top:1px solid #000; }
    </style>
    </head>
    <body>
    <table id="tblmn" class="tableMain" cellpadding="0" cellspacing="0">
      <tr>
      <th>title1</th>
      <th>title2</th>
      <th>title3</th>
      </tr>
      <tr>
      <td colspan="3"><div class="scrollTable">
      <table border="1" cellspacing="0" cellpadding="0" width="100%" id='Table1'>
      <tbody>
      <tr class="odd">
      <td><INPUT TYPE="text" NAME="" value="1"/></td>
      <td><INPUT TYPE="text" NAME="" value="2"/></td>
      <td><INPUT TYPE="text" NAME="" value="3"/></td>
      </tr>
      <tr>
      <td><INPUT TYPE="text" NAME="" value="4"/></td>
      <td><INPUT TYPE="text" NAME="" value="5"/></td>
      <td><INPUT TYPE="text" NAME="" value="6"/></td>
      </tr>
      <tr class="odd">
      <td><INPUT TYPE="text" NAME="" value="7"/></td>
      <td><INPUT TYPE="text" NAME="" value="8"/></td>
      <td><INPUT TYPE="text" NAME="" value="9"/></td>
      </tr>
      <tr>
      <td><INPUT TYPE="text" NAME="" value="10"/></td>
      <td><INPUT TYPE="text" NAME="" value="11"/></td>
      <td><INPUT TYPE="text" NAME="" value="12"/></td>
      </tr>
      <tr class="odd">
      <td><INPUT TYPE="text" NAME="" value="13"/></td>
      <td><INPUT TYPE="text" NAME="" value="14"/></td>
      <td><INPUT TYPE="text" NAME="" value="15"/></td>
      </tr>
      <tr>
      <td><INPUT TYPE="text" NAME="" value="16"/></td>
      <td><INPUT TYPE="text" NAME="" value="17"/></td>
      <td><INPUT TYPE="text" NAME="" value="18"/></td>
      </tr>
      <tr class="odd">
      <td><INPUT TYPE="text" NAME="" value="19"/></td>
      <td><INPUT TYPE="text" NAME="" value="20"/></td>
      <td><INPUT TYPE="text" NAME="" value="21"/></td>
      </tr>
      <tr>
      <td><INPUT TYPE="text" NAME="" value="22"/></td>
      <td><INPUT TYPE="text" NAME="" value="23"/></td>
      <td><INPUT TYPE="text" NAME="" value="24"/></td>
      </tr>
      <tr class="odd">
      <td><INPUT TYPE="text" NAME="" value="25"/></td>
      <td><INPUT TYPE="text" NAME="" value="26"/></td>
      <td><INPUT TYPE="text" NAME="" value="27"/></td>
      </tr>
      </tbody>
      </table>
      </div></td>
      </tr>
    </table>
    </body>
    </html>
    <script language="javascript" type="text/javascript">var list =document.getElementById('Table1');
    var rowscount=list.rows.length;
    for(var i=0;i<rowscount;i++)
    {
     for(var k=0;k<3;k++)
      {
      var row=list.rows[i].cells[k];  var inputs=row.getElementsByTagName('input');
      var values=new Array();
      for(var j=0;j<inputs.length;j++)
        {
           if(inputs[j].type='text')
            {
               values.push(inputs[j].value);
            }
        }
        var pFunc =function(values){alert(values);}
        row.onclick= delegate(pFunc,values,row);   
       }
    }
    function delegate(fn,params,obj){   
        return function(){   
            fn.call(obj||window,params);   
        }   
    }  </script>
      

  2.   


     var a= document.getElementById("d"+i);
                   addEvent(a,"click",function(){alert(a.id)});
    你a 定义为全局变量了。加个var就可以了.
      

  3.   

    你没把参数传进去。 for(var i=1 ;i<4;i++)
     {
         (function(i){
                    a= document.getElementById("d"+i);
                   addEvent(a,"click",function(){alert(a.id)});
          })(i);
     }
      

  4.   


    for(var i=1 ;i<4;i++)
     {
         var a;
         (function(i, a){
                    a= document.getElementById("d"+i);
                   addEvent(a,"click",function(){alert(a.id)});
          })(i, a);
         alert(a);//这样就有了
     }
      

  5.   

    <script type="text/javascript">
     function addEvent(node,type,listener)
     {
             if(document.getElementById(node))
            {
                node=document.getElementById(node);    
            }
            if(node.addEventListener)    
            {        
                 node.addEventListener(type,listener,false)
            }
            else if(node.attachEvent)
            {
                node.attachEvent("on"+type,listener);
         
            }
     }  
       
     for(var i=1 ;i<4;i++)
     {                
    (function(i){
    a= document.getElementById("d"+i);
    addEvent(a,"click",(function(a){ return function(){alert(a.id);};})(a));
    })(i);
                    }