posts - 165, comments - 198, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

页面 table 数据收集

Posted on 2008-07-21 17:12 G_G 阅读(1345) 评论(0)  编辑  收藏 所属分类: javascriptHTML


收集javascript
<html>
<head>
</head>
<body>
<table border>
    
    
<tr >
        
<td>指令</td>
        
<td>统计</td>    
    
</tr>
    
  
<!-- 通过 后台遍历数据出来时 tr 标识 name='_trdata' -->
    
<tr name='_trdata'>
        
<td name="_comm">234</td>
        
<td name="_count">1</td>    
    
</tr>

    
<tr name='_trdata'>
        
<td name="_comm">1234</td>
        
<td name="_count">2</td>    
    
</tr>

    
<tr name='_trdata'>
        
<td name="_comm">1256</td>
        
<td name="_count">9</td>    
    
</tr>

</table>
<input id="t1" type="text" />
<input type="button" value="页面数据收集" 
                    onclick
="numSum( document.getElementById('t1').value,'ss1');"> 
结果:
<span id="ss1" />
</body>

<script type="text/javascript">


    
/* startRegx
    *    E.g  3P45 -> 3P4501 
    *   E.g  3P45;MAXAM -> 3P4509 MAXAM1     
    * 收集方法
    
*/ 
    
function numSum(startRegx,strTextId){
        
var sum = 0 ;
        
        
//准备  匹配正则
        var regxStrs = startRegx.split(";");
        
var regxs =  new Array(regxStrs.length);
        
for(var i=0;i<regxStrs.length;i++){
            regxs[i] 
= new RegExp("^"+regxStrs[i], '');
        }
        
        
//得到需要的 tr 
        var trs = document.getElementsByName('_trdata');
        
        
//遍历 tr  
        for(var i=0;i<trs.length;i++){
            trs[i].style.backgroundColor 
= "";
            
            
//得到全部 td 
            var comm = getValusByObjectChildName(trs[i],'_comm');
            
var count = getValusByObjectChildName(trs[i],'_count');
            
if(  comm == null  ) continue ;
            
            
for(var k=0;k<regxs.length;k++ ){
                
if( regxs[k].test( comm )){
                    
if! isNaN( count ) ){
                         trs[i].style.backgroundColor 
= "#00cccc";
                         sum 
+= parseInt( count ) ;
                    }
                }
            }
        }
    
        document.getElementById(strTextId).innerHTML 
= sum ;
    }

   //收集工具方法

  
function  getValusByObjectChildName(fobj,cName){
            
if( fobj==null || fobj.firstChild==null ) 
                    
return null ;
            
          
var cns = fobj.childNodes ;
          
          
for(var j=0;j<cns.length;j++){
              
if( cns[j].getAttribute &&  cns[j].getAttribute('name')==cName ){
                  
return cns[j].firstChild.nodeValue ;
              }
          }
          
return null ;
    }

</script>

</html>


只有注册用户登录后才能发表评论。


网站导航: