1、<td onmouseover='' onmouseout=''> </td>
2、Checkbox本来就是多选控件 所以不需要控制
3、应该很难

解决方案 »

  1.   

    参见
    dhtmlxgrid
    里面有源码
      

  2.   

    <HEAD>
    <style>
    .normal{BACKGROUND-COLOR : white;}
    .selected{BACKGROUND-COLOR : red;}
    </style>
    <script>
    var old;
    function select(event) {
      var e=event||window.event;
      var obj=event.srcElement?event.srcElement:event.target;
      if(obj.tagName=="DIV"){
        if(old){
          document.getElementById("cb"+old).checked=false;
          document.getElementById("r"+old).className="normal";
        }
        var row=obj.id.substr(1,1);
        document.getElementById("cb"+row).checked=true;  //checkbox
        document.getElementById("r"+row).className="selected";  //change color
        old=row;
      }
    }
    </script>
    </HEAD><BODY>
    <TABLE BORDER="1" ONCLICK="select(event)" >
     <TR ID="r1" CLASS="normal">
      <TD>
         <INPUT ID="cb1" TYPE="checkbox" value="false" />
      </TD>
      <TD>
         <DIV STYLE="width:100%" ID="c11">some text</DIV>
      </TD>
      <TD>
         <DIV STYLE="width:100%" ID="c12">some text</DIV>
      </TD>
      </TR>
     <TR ID="r2" CLASS="normal">
      <TD>
       <INPUT ID="cb2"  TYPE="checkbox" value="false" />
     </TD>
     <TD>
       <DIV STYLE="width:100%" ID="c21">some text 2</DIV>
     </TD>
     <TD>
       <DIV STYLE="width:100%" ID="c22">some text 2</DIV>
     </TD>
    </TR>
    </TABLE>
    </BODY>
      

  3.   

    回:yorry(最近比较烦) 
    首先单击一行,然后按住CTRL,再单击另一行,选中两行之间的值,也就是类似于C/S系统中的效果
      

  4.   

    拖动先把容器的 onselectstart="return false();" ondrag="return false()";
    记录mousedown,再判断mousemove和mouseup,应该可以实现