table行的选择(含ctrl,shift),ctrl按下则支持无序多选,shift按下则支持有序多选
<html > <head > <meta http-equiv="Content-Type" content="text/html; charset=gb2312" > <title >new page </title > <script > var ctrl=false; var shift=false; document.οnkeydοwn=function (){ if(event.keyCode==17){ ctrl=true; }else if(event.keyCode==16){ shift=true; } }; document.οnkeyup=function (){ ctrl=false; shift=false; } function choose(obj){ var rowI=event.srcElement.parentNode.rowIndex; if(ctrl&&shift) return; if(!ctrl&&!shift){ for(var i=0;i <table1.rows.length;i++){ table1.rows(i).cells(0).firstChild.checked=false; table1.rows(i).bgColor=""; } table1.rows(rowI).cells(0).firstChild.checked=true; table1.rows(rowI).bgColor="red"; table1.currentRow=rowI; } if(ctrl){ table1.rows(rowI).cells(0).firstChild.checked=true; table1.rows(rowI).bgColor="red"; } if(shift){ for(var i=0;i <table1.rows.length;i++){ table1.rows(i).cells(0).firstChild.checked=false; table1.rows(i).bgColor=""; } if(rowI <table1.currentRow){ for(var i=rowI;i <=table1.currentRow;i++){ table1.rows(parseInt(i)).cells(0).firstChild.checked=true; table1.rows(parseInt(i)).bgColor="red"; } }else{ for(var i=table1.currentRow;i <=rowI;i++){ table1.rows(parseInt(i)).cells(0).firstChild.checked=true; table1.rows(parseInt(i)).bgColor="red"; } } } } </script > </head > <body > <table cellpadding="0" border="1" cellspacing="0" width="400" id="table1" currentRow="0" οnclick="choose(this)" > <tr bgcolor="red" > <td > <input type=checkbox checked > </td > <td > </td > </tr > <tr > <td > <input type=checkbox > </td > <td > </td > </tr > <tr > <td > <input type=checkbox > </td > <td > </td > </tr > <tr > <td > <input type=checkbox > </td > <td > </td > </tr > <tr > <td > <input type=checkbox > </td > <td > </td > </tr > <tr > <td > <input type=checkbox > </td > <td > </td > </tr > <tr > <td > <input type=checkbox > </td > <td > </td > </tr > <tr > <td > <input type=checkbox > </td > <td > </td > </tr > </table > </body > </html >