惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
人人都是产品经理
人人都是产品经理
月光博客
月光博客
V
V2EX
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
宝玉的分享
宝玉的分享
雷峰网
雷峰网
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - Franky
博客园 - 聂微东
博客园 - 司徒正美
博客园 - 【当耐特】
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志

博客园 - jenner

js 更改 onclick 事件 - jenner js 去除字符串中重复的字符 - jenner - 博客园 js 获取选中的checkbox的行的其他值 javactript关闭窗体,刷新父窗体....... - jenner - 博客园 winform dgv右键选择 - jenner - 博客园 DataGrid 二维表头 DataGrid导出到Excel or word javascript 对datagrid的一些操作 - jenner - 博客园 DataView 属性操作 - jenner - 博客园 javascript 判断整数 javascript控制服务器控件-js操作CheckBoxList实现全选、反选 css控制字数(控制宽度) 网站变黑白 漂浮div窗体,带停止 111 test 使用QuickCHM软件轻松编译CHM格式的文件 遍历treeView的所有节点 TreeView第三种状态的另类实现
js实现动态级联计分,级数无限制 - jenner - 博客园
jenner · 2008-09-28 · via 博客园 - jenner

1           35
1.1        10
1.2        10
1.3        10
1.3.1      5
1.3.2      5
1.4         5
2           30   
2.1        10
2.2        20

合计:    65

----------------------------------------------------

   //初始化父级自评分
   function SetFatherNum()
   {
    var objTable=document.getElementById("dgrdList");
    //将父级的自评分置0分
    for(var i=objTable.rows.length-2;i>0;i--)
    {
     var strItemNum1 = objTable.rows[i].cells[1].innerText;
     var arrayItemNum = strItemNum1.split(".");
     var arrayCount = arrayItemNum.length;
     if(arrayCount>1)
     {
      var ItemNum = "";
      for(var n=0;n<=arrayCount-2;n++)
      {
       ItemNum += "." + arrayItemNum[n];
      }
      
      ItemNum = ItemNum.substring(1,ItemNum.length);
      
      for(var j=objTable.rows.length-2;j>0;j--)
      {
       var idSum1 = parseFloat(j)+parseFloat(1);
       var zpTextId1 = "dgrdList__ctl" + idSum1 +"_SelfAppraiseNum";
       
       var strItemNum2 = objTable.rows[j].cells[1].innerText;
       if(strItemNum2 == ItemNum)
       {
        document.getElementById(zpTextId1).value = 0;
       }
      }
     }
    }
   }
   //级联计分
   function FelatingSum()
   {
    var objTable=document.getElementById("dgrdList");
    //将父级的自评分置0分
    SetFatherNum();
    
    //根据子级自评分,计算父级自评分
    for(var i=objTable.rows.length-2;i>0;i--)
    {
     var strItemNum1 = objTable.rows[i].cells[1].innerText;
     var arrayItemNum = strItemNum1.split(".");
     var arrayCount = arrayItemNum.length;
     if(arrayCount>1)
     {
      var ItemNum = "";
      for(var n=0;n<=arrayCount-2;n++)
      {
       ItemNum += "." + arrayItemNum[n];
      }
      
      ItemNum = ItemNum.substring(1,ItemNum.length);
      
      for(var j=objTable.rows.length-2;j>0;j--)
      {
       var idSum1 = parseFloat(j)+parseFloat(1);
       var idSum2 = parseFloat(i)+parseFloat(1);
       var zpTextId1 = "dgrdList__ctl" + idSum1 +"_SelfAppraiseNum";
       var zpTextId2 = "dgrdList__ctl" + idSum2 +"_SelfAppraiseNum";
       
       var strItemNum2 = objTable.rows[j].cells[1].innerText;
       if(strItemNum2 == ItemNum)
       {
        document.getElementById(zpTextId1).value = parseFloat(document.getElementById(zpTextId1).value) + parseFloat(document.getElementById(zpTextId2).value);
       }
      }
     }
    }
    //统计总分
    StatSum();
   }
   //统计总分
   function StatSum()
   {
    var objTable=document.getElementById("dgrdList");
    var CountSum = 0;
    var StandardSum = 0;
    //根据子级自评分,计算父级自评分
    for(var i=objTable.rows.length-2;i>0;i--)
    {
     var strItemNum1 = objTable.rows[i].cells[1].innerText;
     var arrayItemNum = strItemNum1.split(".");
     var arrayCount = arrayItemNum.length;
     var idSum1 = parseFloat(i)+parseFloat(1);
     var zpTextId1 = "dgrdList__ctl" + idSum1 +"_SelfAppraiseNum";
     if(arrayCount==1)
     {
      CountSum = parseFloat(CountSum) + parseFloat(document.getElementById(zpTextId1).value);
      StandardSum = parseFloat(StandardSum) + parseFloat(objTable.rows[i].cells[4].innerText);
     }
    }
    objTable.rows[objTable.rows.length-1].cells[6].innerText = CountSum;
    objTable.rows[objTable.rows.length-1].cells[4].innerText = StandardSum;
   }