html中用shift实现区域选择

此例实现了shift多选,可把下面的文件运行看到结果

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE> New Document </TITLE>
  5. <META NAME="Generator" CONTENT="EditPlus">
  6. <META NAME="Author" CONTENT="">
  7. <META NAME="Keywords" CONTENT="">
  8. <META NAME="Description" CONTENT="">
  9. <SCRIPT LANGUAGE="JavaScript">
  10. <!--
  11. var count=0;
  12. var temp;
  13. function sel(num,obj){
  14.    if(event.shiftKey){
  15.     if(count==1){
  16.      check(temp,num);
  17.      count=0;
  18.     }else{
  19.      temp=num;
  20.      count++;
  21.     }
  22.    
  23.    }else{
  24.     count=0;
  25.    }
  26.   
  27. }
  28. function check(start,end){
  29. var array1=start.split("_");
  30. var array2=end.split("_");
  31. var sf=parseInt(array1[0]);
  32. var ss=parseInt(array1[1]); 
  33. var ef=parseInt(array2[0]);
  34. var es=parseInt(array2[1]);
  35. var start1=parseInt(sf+""+ss);
  36. var end1=parseInt(ef+""+es);
  37. if(start1<end1){
  38.    if(ss<=es){
  39.     for(var i=sf;i<=ef;i++){
  40.      for(var j=ss;j<=es;j++){
  41.       //document.getElementById(i+""+j).checked=true;
  42.       reverse(i+"_"+j);
  43.      
  44.      }
  45.     }
  46.    }else{
  47.     for(var i=sf;i<=ef;i++){
  48.      for(var j=ss;j>=es;j--){
  49.      
  50.       reverse(i+"_"+j);
  51.      }
  52.     }
  53.    }
  54.    reverse(start);
  55.    reverse(end);
  56. }else if(start1>end1){
  57.    if(ss<=es){
  58.     for(var i=ef;i<=sf;i++){
  59.      for(var j=es;j>=ss;j--){
  60.       //document.getElementById(i+""+j).checked=true;
  61.       reverse(i+"_"+j);
  62.      }
  63.     }
  64.    }else{
  65.     for(var i=ef;i<=sf;i++){
  66.      for(var j=es;j<=ss;j++){
  67.     
  68.       reverse(i+"_"+j);
  69.      }
  70.     }
  71.    }
  72.    reverse(start);
  73.    reverse(end);
  74. }else{}
  75. }
  76. function reverse1(i){
  77. if(document.getElementById(i).checked){
  78. document.getElementById(i).checked=false;
  79. }else{
  80. document.getElementById(i).checked=true;
  81. }
  82. }
  83. function reverse(i){
  84. document.getElementById(i).checked=true;
  85. }
  86. function alls(i){
  87. count=0;
  88. var obj=document.form1.ch;
  89. if(i==1)
  90.    for(var i=0;i<obj.length;i++){
  91.     obj[i].checked=true;
  92.    }
  93. else
  94.    for(var i=0;i<obj.length;i++){
  95.     obj[i].checked=false;
  96.    }
  97. }
  98. //-->
  99. </SCRIPT>
  100. </HEAD>
  101. <BODY>
  102. <form name="form1">
  103. <table border="0">
  104. <tr>
  105. <td>
  106. <INPUT id="0_1" TYPE="checkbox" NAME="ch" value="01" onclick="sel('0_1',this)">
  107. </td>     
  108. <td>      
  109. <INPUT id="0_2" TYPE="checkbox" NAME="ch" value="02" onclick="sel('0_2',this)">
  110. </td>     
  111. <td>      
  112. <INPUT id="0_3" TYPE="checkbox" NAME="ch" value="03" onclick="sel('0_3',this)">
  113. </td>      
  114. <td>       
  115. <INPUT id="0_4" TYPE="checkbox" NAME="ch" value="04" onclick="sel('0_4',this)">
  116. </td>       
  117. <td>        
  118. <INPUT id="0_5" TYPE="checkbox" NAME="ch" value="05" onclick="sel('0_5',this)">
  119. </td>     
  120. <td>      
  121. <INPUT id="0_6" TYPE="checkbox" NAME="ch" value="06" onclick="sel('0_6',this)">
  122. </td>     
  123. <td>      
  124. <INPUT id="0_7" TYPE="checkbox" NAME="ch" value="07" onclick="sel('0_7',this)">
  125. </td>       
  126. </tr>       
  127. <tr>        
  128. <td>        
  129. <INPUT id="1_1" TYPE="checkbox" NAME="ch" value="11" onclick="sel('1_1',this)">
  130. </td>     
  131. <td>      
  132. <INPUT id="1_2" TYPE="checkbox" NAME="ch" value="12" onclick="sel('1_2',this)">
  133. </td>   
  134. <td>    
  135. <INPUT id="1_3" TYPE="checkbox" NAME="ch" value="13" onclick="sel('1_3',this)">
  136. </td>    
  137. <td>     
  138. <INPUT id="1_4" TYPE="checkbox" NAME="ch" value="14" onclick="sel('1_4',this)">
  139. </td>      
  140. <td>       
  141. <INPUT id="1_5" TYPE="checkbox" NAME="ch" value="15" onclick="sel('1_5',this)">
  142. </td>     
  143. <td>      
  144. <INPUT id="1_6" TYPE="checkbox" NAME="ch" value="16" onclick="sel('1_6',this)">
  145. </td>   
  146. <td>    
  147. <INPUT id="1_7" TYPE="checkbox" NAME="ch" value="17" onclick="sel('1_7',this)">
  148. </td>      
  149. </tr>      
  150. <tr>       
  151. <td>       
  152. <INPUT id="2_1" TYPE="checkbox" NAME="ch" value="21" onclick="sel('2_1',this)">
  153. </td>    
  154. <td>     
  155. <INPUT id="2_2" TYPE="checkbox" NAME="ch" value="22" onclick="sel('2_2',this)">
  156. </td>     
  157. <td>      
  158. <INPUT id="2_3" TYPE="checkbox" NAME="ch" value="23" onclick="sel('2_3',this)">
  159. </td>   
  160. <td>    
  161. <INPUT id="2_4" TYPE="checkbox" NAME="ch" value="24" onclick="sel('2_4',this)">
  162. </td>    
  163. <td>     
  164. <INPUT id="2_5" TYPE="checkbox" NAME="ch" value="25" onclick="sel('2_5',this)">
  165. </td>      
  166. <td>       
  167. <INPUT id="2_6" TYPE="checkbox" NAME="ch" value="26" onclick="sel('2_6',this)">
  168. </td>     
  169. <td>      
  170. <INPUT id="2_7" TYPE="checkbox" NAME="ch" value="27" onclick="sel('2_7',this)">
  171. </td>
  172. </tr>
  173. <tr><td colspan="7"><input type="button" value="全选" onclick="alls(1)"/><input type="button" value="取消全选" onclick="alls(0)"/></td></tr>
  174. <tr><td colspan="7"><font color="red" size="2">按住Shift后再选两个复选框,实现多选。</font></td></tr>
  175. </table>
  176. </form>
  177. </BODY>
  178. </HTML>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值