日期:2014-05-16  浏览次数:20499 次

====请教一个表格过滤问题,麻烦帮帮忙 :)=====
有以下代码,已经实现随意点选进行单列过滤。
我现在想加入一个脚本,使程序员可以随便定义用户在多列中只能选择特定的几列进行过滤,请问要怎么写? 谢谢 

<html>  
<head>  
<title> </title>  
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  
</head>  
<body>  
<center>  
<script type="text/javascript">  
function Search(Tbl,TextValue) 
{  
var count=0;  
var keyWord=TextValue.value; 
if(keyWord==""){ 
alert("查询内容不能为空!"); 
TextValue.focus(); 
return; 

for(var i=0;i<Tbl.rows.length;i++) {  
var tr=Tbl.rows[i];  
if(Tbl.curCol<0){ 
if(tr.innerHTML.indexOf(keyWord)==-1){ //全局
tr.style.display="none"; 
}
else{ 
tr.style.display="block"; 
count++;  

}
else{ 
if(tr.childNodes(Tbl.curCol).innerText.indexOf(keyWord)==-1) //选择
tr.style.display="none";  
else{  
tr.style.display="block";  
count++;  
}  

}  
if(count==0){  
alert( '找不到你要的记录! ');  
ListAll(Tbl);  

}  
function ListAll(Tbl)  
{  
for(var i=0;i <Tbl.rows.length;i++)  
{  
Tbl.rows[i].style.display="block";  
}  
}  

function clickcolor()

if(event.srcElement.tagName!="td"&&event.srcElement.tagName!="TD"){ //判断触发事件的元素
return; 

var cancel=false; 
var colI=event.srcElement.cellIndex; 
for(var i=0;i <Tbl1.rows.length;i++){ 
if(Tbl1.curCol>=0){ 
Tbl1.rows(i).cells(Tbl1.curCol).bgColor=""; 

if(Tbl1.curCol!=colI){ 
Tbl1.rows(i).cells(colI).bgColor="red"; 
} else{ 
cancel=true; 

}
if(cancel){ 
Tbl1.curCol="-1"; 
} else{ 
Tbl1.curCol=colI; 


</script>  


<input name="ttt" id="ttt" type="text" style="width:200">  
<input type="button" value="查找" onclick="Search(Tbl1,ttt)" id="btFind">  
<input type="button" value="返回" onclick="ListAll(Tbl1)" id="btListAll">
<br >  
<table cellpadding=0 cellspacing=0 width="500" id="Tbl1" border="1" onclick=clickcolor() curCol="-1" >  
<tr><td>aaa</td><td>12</td><td>1988</td></tr>
<tr><td>呵呵</td><td>ghn</td><td>ol</td></tr>
<tr><td>12</td><td>x</td><td>s</td></tr>
<tr><td>ddd</td><td>12</td><td>13</td></tr>
<tr><td>呵呵</td><td>yt</td><td>1877</td></tr>
<tr><td>ddeed</td><td>11</td><td>12</td></tr>
<tr><td>ddafd</td><td>58</td><td>1988</td></tr>  
</table>  
</center>  
</body> 
</html>

------解