网页上框选复选框

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title>列表区域选择Demo</title>
<style>
body {font-size:12px; margin:0px;}
table {border-left:1px solid #999999;border-top:1px solid #999999;}
td {border-right:1px solid #999999;border-bottom:1px solid #999999;font-size:12px;}
.selectTable {border-left:1px solid #99bbdd;border-top:1px solid #99bbdd;}
.selectTable td {	border-right:1px solid #99bbdd;border-bottom:1px solid #99bbdd;}
.selected {background-color: #cccccc;}
.selected1 {background-color: #cc00cc;}
</style>

<script language="JavaScript">
var ECGridSelector=function()
{
var 
A=this;
A.selectTable=null;
A.selectRows=null;
var H=false,G=false,K=null,
C={x:-1,y:-1},
E={x:-1,y:-1},
I={x:-1,y:-1},

D=function(B,A){return B<A?B:A},
F=function(B,A){return B>A?B:A},
B=function(J)
{
var I=J==""?"off":"on",
L=D(C.x,E.x),
B=F(C.x,E.x),
M=D(C.y,E.y),
G=F(C.y,E.y),
H=null;
for(var N=M;N<=G;N++)
{
	for(var K=L;K<=B;K++)
	{
		H=A.selectRows[N].cells[K];
		H.className=J;
		H.setAttribute("unselectable",I)
	}
}
}
,J=false;

A.doSelect=function(A)
{
if(!G||J)return;
J=true;
A=A||window.event;
var C=A.target||A.srcElement,
D=E.x,
F=E.y;
I.x=C.cellIndex;
I.y=C.parentNode.rowIndex;
B("");
E.x=I.x;
E.y=I.y;
B("selected");
J=false
};
A.startSelect=function(A){
A=A||window.event;

if(!H||J||!(A.which==1||A.button==1))
return;
G=true;
var D=A.target||A.srcElement;
C.x=D.cellIndex;
C.y=D.parentNode.rowIndex;
E.x=D.cellIndex;
E.y=D.parentNode.rowIndex;
B("selected")
};
A.endSelect=function(A){G=false;B("selected")};

A.toggleSelectable=function(){if(H){H=false;A.selectTable.className="";if(C.x>=0)B("")}
else{H=true;A.selectTable.className="selectTable"}C.x=-1;C.y=-1;E.x=-1;E.y=-1};

A.getJSONData=function()
{
var J=[];
if(C.x<0)return J;
var B=null,
L=D(C.x,E.x),G=F(C.x,E.x),
M=D(C.y,E.y),H=F(C.y,E.y),
I=null;
for(var N=M;N<=H;N++)
{
	B=[];
	for(var K=L;K<=G;K++)
    {
	   I=A.selectRows[N].cells[K];
	   B.push(I)
	}
	J.push(B)
}
 return J
}
}

var mySelector=new ECGridSelector();

function init(){
	mySelector.selectTable=document.getElementById("testTable");
	mySelector.selectRows=mySelector.selectTable.rows;
	mySelector.toggleSelectable();
}

function resetBackGround()
{     
	var checklist=document.getElementsByName("checkbox");
	for (var i=0;i<checklist.length;i++)
	{
	    var obj=checklist[i];
		if((obj.parentNode.className=="selected")&&(obj.checked))
		{		
		  continue;
		}
		if((obj.parentNode.className=="")&&(!obj.checked))
		{
		  continue;
		}		
		if(obj.checked)
		{
		   obj.parentNode.className="selected";
		}
		else
		{
		   obj.parentNode.className="";
		}
	}
}

function checkOnclick(event)
{    

	if(event.srcElement.checked)
	{ 
	    event.srcElement.parentNode.className="selected";
	}
	else
	{
		event.srcElement.parentNode.className="";			
	}		
}

function tdOnclick(event)
{

 //alert(event.type);
  
	if(event.srcElement.checked)
	{ 
	    event.srcElement.parentNode.className="selected";
	}
	else
	{
		event.srcElement.parentNode.className="";			
	}		
}

//消息先传递到这,然后再到checkOnclick
function mouseup(event)
{ 
  try
  {  
   mySelector.endSelect(event);   
   if((event.srcElement.tagName=="INPUT")&&(event.srcElement.name=="checkbox"))
   {  
       return true;
   } 
	var recordList=mySelector.getJSONData();	
	
	for (var i=0;i<recordList.length;i++)
	{
		for (var j=0;j<recordList[i].length;j++)
		{
			var obj=recordList[i][j];				
			if(obj.children[0].checked)
			{			
			   if(recordList.length==1&&j==0)
			   {			      
			      obj.children[0].checked=false;				  
			   }
			}
			else
			{			
			     obj.children[0].checked=true;	
			}						
			
		}
	}
	
resetBackGround();
}catch(e){}
}

</script>
 </head>

<body οnlοad="init()"   >




<form name="form1" action="" method="" >

<table  id="testTable" border="0" cellspacing="0"  width="100%" cellpadding="5" οnmοuseοver="mySelector.doSelect(event)" onMouseDown="mySelector.startSelect(event)" onMouseUp="mouseup(event)"  >

<tr>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="1"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="2"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="3"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="4"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="5"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="6"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="7"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="8"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="9"  onClick="checkOnclick(event)">小说标题</td>
</tr>
<tr>
<td>&nbsp;<input name="checkbox"  type="checkbox"  value="1"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="2"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="3"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="4"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="5"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="6"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="7"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="8"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="9"  onClick="checkOnclick(event)">小说标题</td>
</tr><tr>
<td>&nbsp;<input name="checkbox"  type="checkbox"  value="1"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="2"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="3"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="4"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="5"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="6"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="7"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="8"  onClick="checkOnclick(event)">小说标题</td>
<td>&nbsp;<input name="checkbox"  type="checkbox" value="9"  onClick="checkOnclick(event)">小说标题</td>
</tr>
</table>
</form>

 </body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值